{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Strategy REST",
    "description" : "Strategy platform capabilities exposed in a RESTful web service.\n \nWhen a user is authenticated, an authorization token and a session cookie are returned and must be provided in every subsequent request. Browsers automatically handle cookies, but if you are using your own client, you need to maintain the cookie and include it in further requests, together with the authorization token.\n \n[Live Demo](https://demo.microstrategy.com/JsonDemoJS/index.html)\n \n[REST API Playground](https://www.postman.com/microstrategysdk/workspace/microstrategy-rest-api/)",
    "version" : "2026"
  },
  "externalDocs" : {
    "description" : "REST API documentation",
    "url" : "https://microstrategy.github.io/rest-api-docs/"
  },
  "servers" : [ {
    "url" : "/MicroStrategyLibrary"
  } ],
  "tags" : [ {
    "name" : "Authentication",
    "description" : "Methods for authentication, obtaining authorization token, and obtaining authenticated user context"
  }, {
    "name" : "Change Journal",
    "description" : "Search change journal entries"
  }, {
    "name" : "Contact Groups",
    "description" : "Methods to create and manage contact group membership"
  }, {
    "name" : "Contacts",
    "description" : "Methods to create contacts and manage contacts"
  }, {
    "name" : "Content Groups",
    "description" : "Manage Content Groups, allowing collections of content to be more easily distributed to users"
  }, {
    "name" : "Dashboards(Dossiers) and Documents",
    "description" : "Methods to; view definition, execute, and extract data from dashboards(dossiers) and documents"
  }, {
    "name" : "Data Models",
    "description" : "Methods to manage data models."
  }, {
    "name" : "Datasets",
    "description" : "Methods to create single and multi-table data import datasets"
  }, {
    "name" : "Datasource Management",
    "description" : "Methods to create and manage; datasources, logins, connections, mappings, and additional configuration"
  }, {
    "name" : "Documentation Definition",
    "description" : "Endpoints for accessing API documentation definitions"
  }, {
    "name" : "Documentation",
    "description" : "Endpoints for accessing API documentation"
  }, {
    "name" : "Events",
    "description" : "Methods to create and manipulate events, which are used as triggers for subscriptions"
  }, {
    "name" : "Browsing",
    "description" : "Methods for folder browsing and searching the metadata"
  }, {
    "name" : "Gateways",
    "description" : "Methods to view gateways"
  }, {
    "name" : "Git Service",
    "description" : "Mosaic models versioning with git service"
  }, {
    "name" : "Languages",
    "description" : "Methods to create and manage language objects, interface languages, and language settings"
  }, {
    "name" : "Applications",
    "description" : "View and manage applications"
  }, {
    "name" : "Library",
    "description" : "View and manage publication of objects to user's library, manage bookmarks, and view your library"
  }, {
    "name" : "License",
    "description" : "Perform actions regarding license"
  }, {
    "name" : "Maps",
    "description" : "Methods for maps"
  }, {
    "name" : "Migration Groups",
    "description" : "Create and manage migration(s), validate and certify migrations"
  }, {
    "name" : "Migrations",
    "description" : "Methods to create and manage migrations"
  }, {
    "name" : "Monitors",
    "description" : "Methods to monitor; jobs, user connections, caches, project load configuration, and more"
  }, {
    "name" : "Multi Tenant",
    "description" : "Endpoints for accessing API multi-tenant features"
  }, {
    "name" : "Object Management",
    "description" : "Methods to perform generic operations on objects such as; access control, update properties, copy, and manage translations."
  }, {
    "name" : "Packages",
    "description" : "Methods to create and manipulate packages, which are used to migrate object(s)"
  }, {
    "name" : "Palettes",
    "description" : "Create and manipulate color palettes"
  }, {
    "name" : "System Administration",
    "description" : "Methods to configure system, and manage fences."
  }, {
    "name" : "Schedules",
    "description" : "Methods that view or manipulate schedule objects"
  }, {
    "name" : "Scripts",
    "description" : "Methods to create and view script objects"
  }, {
    "name" : "Security Roles",
    "description" : "Methods for creating and manging Security Roles"
  }, {
    "name" : "Shared File Store",
    "description" : "Methods to support migrations, creating and uploading file binaries"
  }, {
    "name" : "Tasks",
    "description" : "Methods to manage tasks."
  }, {
    "name" : "Test Center File Store",
    "description" : "Methods to support creating, uploading, and deleting test center files"
  }, {
    "name" : "Themes",
    "description" : "APIs to create themes template or report/dashboard(dossier) instance, save themes, applying themes to dashboard(dossier)/report, etc"
  }, {
    "name" : "URL Scan",
    "description" : "Operations related to URL Scans"
  }, {
    "name" : "User Management",
    "description" : "Manager users, usegroups, membership and user addresses"
  }, {
    "name" : "Workflows",
    "description" : "Methods to manage workflows"
  }, {
    "name" : "Cubes",
    "description" : "Methods to execute, fetch data, and view definition of cubes. Define and manage incremental refresh reports."
  }, {
    "name" : "Devices",
    "description" : "Methods to creating and managing devices which define the format content is distributed when subscribed"
  }, {
    "name" : "History List",
    "description" : "Methods to view and manage history lists"
  }, {
    "name" : "Projects",
    "description" : "Methods to create and manage projects, view project settings and configuration"
  }, {
    "name" : "Reports",
    "description" : "Methods that view or manipulate the report objects, and allow data extraction from reports"
  }, {
    "name" : "Subscriptions",
    "description" : "Create and manage subscriptions"
  }, {
    "name" : "SCIM",
    "description" : "Endpoints implementing the SCIM 2.0 protocol for standardized identity resource management."
  }, {
    "name" : "Changesets",
    "description" : "Methods that manage changesets"
  }, {
    "name" : "Schema",
    "description" : "Methods that update the schema or manage the schema lock"
  }, {
    "name" : "Facts",
    "description" : "Methods that view or manipulate fact objects"
  }, {
    "name" : "Tables",
    "description" : "Methods that view or manipulate table objects"
  }, {
    "name" : "Filters",
    "description" : "Methods that view or manipulate filter objects"
  }, {
    "name" : "Custom Groups",
    "description" : "Methods that view or manipulate custom group objects"
  }, {
    "name" : "Attributes",
    "description" : "Methods that view or manipulate attribute objects"
  }, {
    "name" : "System Hierarchy",
    "description" : "Methods that view or manipulate the system hierarchy"
  }, {
    "name" : "Metrics",
    "description" : "Methods that view or manipulate metric objects"
  }, {
    "name" : "Subtotals",
    "description" : "Methods that view or manipulate subtotal objects"
  }, {
    "name" : "Base Formulas",
    "description" : "Methods that view or manipulate base formula objects"
  }, {
    "name" : "Derived Elements",
    "description" : "Methods that view or manipulate derived elements objects"
  }, {
    "name" : "Prompts",
    "description" : "Methods that view or manipulate prompt objects"
  }, {
    "name" : "Drill Maps",
    "description" : "Methods that view or manipulate drill map objects"
  }, {
    "name" : "Security Filters",
    "description" : "Methods that view or manipulate security filter objects"
  }, {
    "name" : "User Hierarchies",
    "description" : "Methods that view or manipulate the user hierarchies"
  }, {
    "name" : "Transformations",
    "description" : "Methods that view or manipulate the transformation objects"
  }, {
    "name" : "Timezones",
    "description" : "Methods that view or manipulate the timezone objects"
  }, {
    "name" : "Calendars",
    "description" : "Methods that view or manipulate the calendar objects"
  }, {
    "name" : "Datamarts",
    "description" : "Methods that view or manipulate the datamart objects"
  }, {
    "name" : "Transaction Reports",
    "description" : "Methods that view or manipulate the transaction report objects"
  }, {
    "name" : "Workspaces",
    "description" : "Methods that view or manipulate workspaces, pipelines and tables"
  }, {
    "name" : "Scope Filters",
    "description" : "Methods that view or manipulate scope filters"
  }, {
    "name" : "Comparison Test (Test Center)",
    "description" : "Methods to create, execute, and manage comparisons between baseline test objects, including access to data, SQL, and visualization-level differences."
  }, {
    "name" : "Test Center Settings",
    "description" : "Read and update runtime settings for the test-center service. Changes take effect immediately and are persisted across restarts."
  }, {
    "name" : "Baseline Test (Test Center)",
    "description" : "Methods to create, execute, and manage comparisons between baseline test objects, including access to data, SQL, and visualization-level differences."
  }, {
    "name" : "AI Service",
    "description" : ""
  } ],
  "paths" : {
    "/api/auth/identityToken" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Validate an identity token",
        "description" : "Validate an identity token. An identity token is used to share an existing session with another application, based on the authorization token for the existing session. An identity token allows the other application to log in on behalf of the authenticated user, creating a new authorization token. You obtain the identity token needed to execute the request using POST /auth/identityToken; you pass the original authorization token in the request header. This request returns the DSSID for the authenticated user whose session will be shared using the identity token.\n",
        "operationId" : "getIdentityTokenInfo",
        "parameters" : [ {
          "name" : "X-MSTR-IdentityToken",
          "in" : "header",
          "description" : "Identity token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "codeVerifier",
          "in" : "query",
          "description" : "The PKCE code verifier. Please refer to [PKCE](https://www.rfc-editor.org/rfc/rfc7636) for details.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success (User Information returned)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IdentityTokenInfoResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Invalid token",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Create a new identity token",
        "description" : "Create a new identity token. An identity token is used to share an existing session with another application, based on the authorization token for the existing session. An identity token allows the other application to log in on behalf of the authenticated user, creating a new authorization token. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.\n",
        "operationId" : "createIdentityToken",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created new identity token",
            "headers" : {
              "X-MSTR-IdentityToken" : {
                "description" : "The Identity Token",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/token" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Returns Authorization Token",
        "description" : "Converts cookie value to header. The request requires a cookie to be passed into the request, iSession\n",
        "operationId" : "getAuthToken",
        "parameters" : [ {
          "name" : "iSession",
          "in" : "cookie",
          "description" : "Authorization token",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Obtained token",
            "headers" : {
              "X-MSTR-AuthToken" : {
                "description" : "Authorization token",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized (Session could not be obtained)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/auth/identityToken" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Create a new identity token",
        "description" : "Create a new identity token. An identity token is used to share an existing session with another application, based on the authorization token for the existing session. An identity token allows the other application to log in on behalf of the authenticated user, creating a new authorization token. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.\n",
        "operationId" : "createIdentityTokenInReponseBody",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "persistableState",
          "in" : "query",
          "description" : "The amount of state information to include in the identity token, min: -1, max: 2",
          "schema" : {
            "maximum" : 2,
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "requestBody" : {
          "description" : "Information to be used when creating identity token.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IdentityTokenRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Success (Identity Token returned)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IdentityTokenResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions/lifetime" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get session lifetime",
        "description" : "Get session lifetime for the authenticated user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. This request returns session lifetime for the authenticated user.",
        "operationId" : "getSessionLifetime",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success (Session lifetime returned)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get information about a configuration session",
        "description" : "Get information about a configuration session. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. This request returns information about the authenticated user, locale, timeout duration, maximum number of concurrent searches, and limit on number of instances kept in memory.",
        "operationId" : "sessionSessionIdGet",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeConnectionInfo",
          "in" : "query",
          "description" : "Boolean value to indicate whether the user connection info is included. If set to true, response will include user connection info.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success (Session is alive)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found (Session does not exist or is closed)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Authentication" ],
        "summary" : "Keep session alive",
        "description" : "Extends the HTTP and Intelligence Server sessions by resetting the timeouts. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "sessionSessionIdPut",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions/projectId" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get information about a project session",
        "description" : "Get information about a project session. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. This request returns information about the authenticated user, locale, timeout duration, maximum number of concurrent searches, and limit on instances kept in memory.",
        "operationId" : "sessionSessionIdGetForProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success (Session is alive)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions/userInfo" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get information for the authenticated user",
        "description" : "Get information for the authenticated user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. This request returns information about the authenticated user, locale, timeout duration, maximum number of concurrent searches, and limit on instances kept in memory.",
        "operationId" : "sessionSessionIdUserInfoGet",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success (User Information returned)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SessionInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/atlas/chats/{chatId}/messages" : {
      "post" : {
        "tags" : [ "Atlas" ],
        "summary" : "Post a question to the specified agent, or the agents in the specified application.",
        "description" : "Post a question to the specified agent, or the agents in the specified application. If no agent is specified in the request body, the question will be routed to the most suitable agent. You can specify content groups and agents for routing the question. ",
        "operationId" : "createQuestion",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chatId",
          "in" : "path",
          "description" : "Chat ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/AtlasMessageCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Content-Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AtlasMessageDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/atlas/chats/{chatId}/messages/{messageId}/files/{fileId}" : {
      "get" : {
        "tags" : [ "Atlas" ],
        "operationId" : "getVizData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageId",
          "in" : "path",
          "description" : "Chat Message ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chatId",
          "in" : "path",
          "description" : "Chat ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fileId",
          "in" : "path",
          "description" : "File ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fileType",
          "in" : "query",
          "description" : "file type",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "visJson", "image", "other", "diagnostics", "excel", "csv", "reportImage" ]
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/atlas/chats/{chatId}/messages/{messageId}" : {
      "get" : {
        "tags" : [ "Atlas" ],
        "operationId" : "startQuestionStreamTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageId",
          "in" : "path",
          "description" : "Chat Message ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chatId",
          "in" : "path",
          "description" : "Chat ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/attributes/{id}/elements" : {
      "get" : {
        "tags" : [ "Attributes" ],
        "summary" : "Get attribute elements",
        "description" : "Get Attribute elements collection. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the attribute by specifying the attribute ID in the path of the request; By default, you get elements from data source, e.g. data warehouse; \nYou can also get attribute elements from a report instance by specifying instance ID in query parameter;\n You can also get attribute elements from dataset of dashboard(dossier)/document instance by specifying both instance ID and dataset ID.\n Filtering and incremental fetch are supported due to possible huge amount of elements: searchTerm in query parameter allows client to filter on name of elements, and filter ID allows to utilize existing filter object.",
        "operationId" : "getAttributeElements",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "query",
          "description" : "Instance ID of a dashboard(dossier) or a report",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "query",
          "description" : "Dataset ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "useBrowseForm",
          "in" : "query",
          "description" : "Get attribute elements in browse form",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Block to begin with. Default is 1, the first block.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 1
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of blocks to include (0-based). Default is 50 and -1 means to include all blocks",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int64",
            "default" : 50
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "description" : "The search term from name of attribute element. For example, if this parameter is “Q3 year”, the search would return all results containing “Q3” or “year”. If it is empty, the search would return all elements of the attribute.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filterId",
          "in" : "query",
          "description" : "the filter id used for browsing elements",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "timezoneId",
          "in" : "query",
          "description" : "The timezone ID to filter the attribute elements",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchForms",
          "in" : "query",
          "description" : "The forms of target object to filter the elements in the result",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/apiTokens" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Create API token",
        "description" : "Create API token which can be used for user login. ",
        "operationId" : "createApiToken",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "UserIdForAPIToken",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserIdForApiToken"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiToken"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/oidc/token" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Authenticate a user with OIDC tokens",
        "description" : "Authenticate a user and create an HTTP session on the library server where the user’s MicroStrategy sessions are stored. To use OIDC tokens to login, OIDC login mode (4194304) needs to be enabled and configured properly in Library server. If 'nativeClientId' is configured, use OIDC tokens for the nativeClientId; otherwise, use OIDC tokens for the clientId.",
        "operationId" : "oidcTokenLogin",
        "parameters" : [ {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mdLocale",
          "in" : "query",
          "description" : "Default locale for the user's metadata",
          "schema" : {
            "type" : "string"
          },
          "example" : "en"
        }, {
          "name" : "whLocale",
          "in" : "query",
          "description" : "Default locale for the user's warehouse data",
          "schema" : {
            "type" : "string"
          },
          "example" : "en"
        }, {
          "name" : "displayLocale",
          "in" : "query",
          "description" : "Default locale for the user's display",
          "schema" : {
            "type" : "string"
          },
          "example" : "en"
        }, {
          "name" : "messagesLocale",
          "in" : "query",
          "description" : "Default locale for the user's messages",
          "schema" : {
            "type" : "string"
          },
          "example" : "en"
        }, {
          "name" : "numberLocale",
          "in" : "query",
          "description" : "Default locale for the user's numbers",
          "schema" : {
            "type" : "string"
          },
          "example" : "en"
        }, {
          "name" : "timeZone",
          "in" : "query",
          "description" : "Default timezone to be used for the user's session",
          "schema" : {
            "type" : "string"
          },
          "example" : "UTC"
        }, {
          "name" : "clientId",
          "in" : "query",
          "description" : "The client ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applicationType",
          "in" : "query",
          "description" : "See [EnumDSSXMLApplicationType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html) for possible values, default to DssXmlApplicationDossierWeb(35)",
          "schema" : {
            "maximum" : 75,
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 35
        }, {
          "name" : "maxSearch",
          "in" : "query",
          "description" : "Max number of concurrent searches",
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 3
        }, {
          "name" : "workingSet",
          "in" : "query",
          "description" : "Sets the number of report/document instances are kept in memory on the server before the oldest begins expiring",
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 10
        }, {
          "name" : "tenantId",
          "in" : "query",
          "description" : "Tenant Id the user belongs to in a multi-tenant environment.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "stickyTenantId",
          "in" : "query",
          "description" : "To login to a specific tenant and keep the session sticky to that tenant in a multi-tenant environment.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "OIDC Tokens used to create a new session.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OidcTokenRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success (New session created)",
            "headers" : {
              "X-MSTR-AuthToken" : {
                "description" : "Authorization token.",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/login" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Authenticate a user",
        "description" : "Authenticate a user and create an HTTP session on the web server where the user’s MicroStrategy sessions are stored. This request returns an authorization token (X-MSTR-AuthToken) which will be submitted with subsequent requests. The body of the request contains the information needed to create the session. The loginMode parameter in the body specifies the authentication mode to use. You can authenticate with one of the following authentication modes: Standard (1), Anonymous (8), or LDAP (16). Authentication modes can be enabled through the System Administration REST APIs, if they are supported by the deployment. If you are not able to authenticate using any of the authentication modes, please contact your administrator to determine current support or currently enabled authentication modes.",
        "operationId" : "postLogin",
        "requestBody" : {
          "description" : "Information used to create a new session with the web server and IServer",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AuthRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success (New session created)",
            "headers" : {
              "X-MSTR-AuthToken" : {
                "description" : "Authorization token.",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/logout" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Close all existing sessions for the authenticated user",
        "description" : "Close all existing sessions for the authenticated user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "postLogout",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Session closed)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/delegate" : {
      "post" : {
        "tags" : [ "Authentication" ],
        "summary" : "Create a new Web server session that shares an IServer session",
        "description" : "Create a new Web server session for an application, using the identity token associated with the Web server session of a different application. Both Web server sessions share the same IServer session. The authorization token for an existing Web server session is used to create a short-lived identity token, which is then used to create a new Web server session that shares the same IServer session. You obtain the identity token using POST /auth/identityToken; you pass the token in the body of the request. The body of the request must contain the information needed to create the session i.e. the authentication mode and the identity token.",
        "operationId" : "sessionPost_1",
        "requestBody" : {
          "description" : "Information used to create a new Web server session that shares an existing IServer session - authentication mode and identity token",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DelegateInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success (Created a new session that can be used by an application that does not share the same HTTP session as the original request)",
            "headers" : {
              "X-MSTR-AuthToken" : {
                "description" : "Session ID",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized (Session could not be created using identity token)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bookmarks" : {
      "post" : {
        "tags" : [ "Library" ],
        "summary" : "Add a new Bookmark into current Shortcut Object",
        "description" : "Add a new Bookmark into current Shortcut Object. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the bookmark information as the body of the request.",
        "operationId" : "createBookmark",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Bookmark Information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BookmarkManipulation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BookmarkCreationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Library" ],
        "summary" : "Bulk deletion of bookmarks",
        "description" : "Bulk deletion of bookmarks. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the IDs of the bookmarks you want to bulk delete in the body of the request which can be obtained using GET /shortcuts/{shortcutId}/bookmarks. For example {\"shortcutId\": \"string\", \"bookmarkIds\": [\"string\"]}. This endpoint can't be used in API explorer.",
        "operationId" : "bulkDeleteBookmarks",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bookmarks/{id}" : {
      "put" : {
        "tags" : [ "Library" ],
        "summary" : "Update a bookmark",
        "description" : "Update a bookmark. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the bookmark you want to update in the path of the request which can be obtained using GET /shortcuts/{shortcutId}/bookmarks. You pass bookmark information to be updated in the body of the request.",
        "operationId" : "updateBookmark",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Bookmark ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Bookmark Information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BookmarkManipulation"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Library" ],
        "summary" : "Delete a bookmark",
        "description" : "Delete a bookmark. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the bookmark you want to delete in the path of the request which can be obtained using GET /shortcuts/{shortcutId}/bookmarks. You may pass bookmark shortcut information to be deleted in the body of the request. For example {\"shortcutId\": \"string\"}.This endpoint can't be used in API explorer.",
        "operationId" : "deleteBookmark",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Bookmark ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/shortcuts/{shortcutId}/bookmarks" : {
      "get" : {
        "tags" : [ "Library" ],
        "summary" : "Get a list of bookmarks from a Shortcut Object",
        "description" : "Get a Bookmark list from a Shortcut Object. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the document shortcut you want to execute in the path of the request.",
        "operationId" : "getBookmarksWithShortcutID",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "shortcutId",
          "in" : "path",
          "description" : "The ID of the document shortcut to execute",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BookmarkDetails"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/shortcuts/{shortcutId}" : {
      "patch" : {
        "tags" : [ "Library" ],
        "summary" : "Update information for a shortcut.",
        "description" : "Update info for a shortcut. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header; you obtain the project ID using GET /projects. You obtain shortcutId when a document is published.",
        "operationId" : "updateShortcutInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "shortcutId",
          "in" : "path",
          "description" : "The ID of the document shortcut to execute",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsShortcutPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsShortcutPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "207" : {
            "description" : "Partial success for multiple resources"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/{botId}/instances" : {
      "post" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Create an instance for a bot",
        "description" : "Create an instance for the bot. It would automatically sync the latest 10 questions & answers for you.",
        "operationId" : "createInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Bot instance configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BotInstanceConfigDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BotInstanceCreateDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/bots/{botId}/instances/{instanceId}/suggestions" : {
      "post" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Get suggestions from current context",
        "description" : "Get suggestions from current context.",
        "operationId" : "createSuggestions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Bot Instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BotSuggestionPostDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BotSuggestionCreateDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/bots/{botId}/instances/{instanceId}/topics" : {
      "post" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Get suggested topics from current context",
        "description" : "Get suggested topics from current context.",
        "operationId" : "createTopics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Bot Instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BotTopicPostDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BotTopicCreateDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/bots/{botId}/instances/{instanceId}" : {
      "delete" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Delete an instance for a bot",
        "description" : "Delete an instance for the bot.",
        "operationId" : "deleteInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Bot Instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/{botId}/configuration" : {
      "get" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Get configuration for a bot",
        "description" : "Get chats object for the bot. ",
        "operationId" : "getConfiguration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BotConfigurationDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/{botId}/instances/{instanceId}/questions" : {
      "post" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Post a user question to the bot instance.",
        "description" : "Post a user question to the bot instance.",
        "operationId" : "postQuestion",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Bot Instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BotQuestionPostDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Content-Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/bots/{botId}/questions/{questionId}" : {
      "get" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Get question from a bot with question id",
        "description" : "Get question from a bot with question id.",
        "operationId" : "queryMessage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/{botId}/questions" : {
      "get" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Get all question from the bot",
        "description" : "Get all question from the bot. Can get its own questions.",
        "operationId" : "queryMessages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Bot ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuestionListDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/catalog/settings" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get catalog settings for a specific datasource",
        "description" : "Get catalog settings for a specific datasource. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID in the path of the request; You obtain the catalog settings using GET /datasources/{id}/catalog/settings.",
        "operationId" : "getCatalogSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CatalogSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Set catalog settings for a specific datasource",
        "description" : "Set catalog settings for a specific datasource. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID in the path of the request; You set the catalog settings using PATCH /datasources/{id}/catalog/settings.",
        "operationId" : "setCatalogSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Datasource catalog setting.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CatalogSettings"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CatalogSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/catalog/namespaces" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get namespaces for a specific datasource",
        "description" : "Get namespaces for a specific datasource. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID in the path of the request; You obtain the database namespaces using GET /datasources/{id}/catalog/namespaces.",
        "operationId" : "getNamespaces",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "refresh",
          "in" : "query",
          "description" : "Force refresh",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Namespaces"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/catalog/namespaces/{namespaceId}/tables" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get tables for a specific datasource and namespace",
        "description" : "Get tables for a specific datasource and namespace. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID and namespace ID in the path of the request; You obtain the database tables using GET /datasources/{id}/catalog/namespaces/{namespaceId}/tables.",
        "operationId" : "getTableInfos",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "namespaceId",
          "in" : "path",
          "description" : "Database namespace id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "refresh",
          "in" : "query",
          "description" : "Force refresh",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TableInfos"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/catalog/namespaces/{namespaceId}/tables/{tableId}/result" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get preview result for a specific database table",
        "description" : "Get preview result for a specific database table. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID, namespace ID and table ID in the path of the request; You obtain the preview result using GET /datasources/{id}/catalog/namespaces/{namespaceId}/tables/{tableId}/result.",
        "operationId" : "getTablePreview",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "namespaceId",
          "in" : "path",
          "description" : "Database namespace id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Identifier for the table. Do not persist this id as it will change if the table name or namespace changes.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeRowCount",
          "in" : "query",
          "description" : "Include table row count",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TableData"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/catalog/namespaces/{namespaceId}/tables/{tableId}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get columns for a specific database table",
        "description" : "Get columns for a specific database table. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the datasource ID, namespace ID and table ID in the path of the request; You obtain the columns using GET /datasources/{id}/catalog/namespaces/{namespaceId}/tables/{tableId}.",
        "operationId" : "getTableSchema",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Database role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "namespaceId",
          "in" : "path",
          "description" : "Database namespace id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Identifier for the table. Do not persist this id as it will change if the table name or namespace changes.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "refresh",
          "in" : "query",
          "description" : "Force refresh",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TableSchema"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/changeJournal" : {
      "post" : {
        "tags" : [ "Change Journal" ],
        "summary" : "Create and store a Change Journal search instance.",
        "description" : "Create and store a Change Journal search instance. Following privilege: [DssXmlPrivilegesMonitorChangeJournal](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorChangeJournal) is required to invoke current api.",
        "operationId" : "createChangeJournalSearch",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Change Journal Search info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeJournalSearchInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChangeJournalSearchInstance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Change Journal" ],
        "summary" : "Purge Change Journal entries for specific project (list of projects).",
        "description" : "Purge Change Journal entries for specific project (list of projects). Following privilege: [DssXmlPrivilegesMonitorChangeJournal](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorChangeJournal) is required to invoke current api.",
        "operationId" : "deleteChangeJournalSearchResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "purgeAllProjects",
          "in" : "query",
          "description" : "Specifies whether all projects should be purged",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "timestamp",
          "in" : "query",
          "description" : "Delete Change Journal entries older than the timestamp. Date and time format: 'MM/dd/yyyy hh:mm:ss AM|PM'",
          "schema" : {
            "pattern" : "^(0?[1-9]|1[0-2])\\/(0?[1-9]|[12][0-9]|3[01])\\/(19|20)\\d{2} (00|[0-9]|1[0-2]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]) (PM|AM)$",
            "type" : "string"
          }
        }, {
          "name" : "comment",
          "in" : "query",
          "description" : "Comment for purge operation",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projects.id",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2' NOTE: Project id collection will be ignored if purgeAllProjects flag set to true. ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/changeJournal/{searchId}" : {
      "get" : {
        "tags" : [ "Change Journal" ],
        "summary" : "Get Change Journal search result.",
        "description" : "Get Change Journal search result. Following privilege: [DssXmlPrivilegesMonitorChangeJournal](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorChangeJournal) is required to invoke current api.",
        "operationId" : "getChangeJournalSearchResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchId",
          "in" : "path",
          "description" : "Search ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Minimum value: 1, maximum value: 100",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ChangeJournalEntry"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/collaboration/recipients" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for a set of recipients",
        "description" : "Get info for all users and usergroups whose full name or username matches specified search criteria. These are the recipients that the authenticated user can collaborate with. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the search criteria with query parameters in the request; the search criteria consist of a search pattern and the value used to evaluate that pattern. For example, you might want to search for all users whose full name or username begin with “S”. You can use other query parameters to limit the results that are returned by specifying a starting point within the results, the maximum number of results, and whether to return only enabled users",
        "operationId" : "getMentionedUsers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "description" : "The value that the searchPattern parameter is set to. For example, if the search searchPattern is “Begins with”, this parameter would be the value that the search results would begin with. In this example, if this parameter were set to “B”, the search would return all users and user groups whose full name or username begin with “B”. ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The pattern that will be used to search for matching recipients. Possible search patterns include “Begins with”, “Begins with phrase”, “Contains”, “Exactly”, “Ends with”, “Contains any word”, and “None”. This parameter is used together with the searchTerm parameter.",
          "schema" : {
            "type" : "string",
            "default" : "CONTAINS_ANY_WORD",
            "enum" : [ "NONE", "CONTAINS_ANY_WORD", "BEGINS_WITH", "BEGINS_WITH_PHRASE", "EXACTLY", "CONTAINS", "ENDS_WITH" ]
          }
        }, {
          "name" : "targetUserGroupId",
          "in" : "query",
          "description" : "The user group id that specify the target",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "enabledStatus",
          "in" : "query",
          "description" : "Specifies whether to return only enabled users or all users and usergroups that match the search criteria.",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "ENABLED_ONLY", "LIBRARY_REPORT_ONLY", "DISABLED_ONLY", "LIBRARY_WEB_REPORT_ONLY" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BasicUserInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contactGroups" : {
      "get" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "List all contact groups",
        "description" : "Get a list of all contact groups that the authenticated user has access to. This endpoint returns the name, ID, linked user, contact members and other information about contact groups.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "listContactGroups",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContactGroups"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "Create a contact group",
        "description" : "Create a new contact group. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a contact group in the body parameter of the request. Following privilege: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) is required to invoke current api.",
        "operationId" : "createContactGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Contact Group settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContactGroup"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContactGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contactGroups/{id}" : {
      "get" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "Get a contact group by ID",
        "description" : "Get information of a specific contact group by its ID. This endpoint returns the name, ID, linked user, contact members and other information about the given contact group. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the contact group ID using GET /contactGroups. You pass the contact group ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "getContactGroupById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact Group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContactGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "Update a contact group",
        "description" : "Update a specific contact group by its ID. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the contact group by specifying the contact group ID in the path of the request; you obtain the contact group ID using GET /contactGroups. You provide the information used to update the contact group in the body parameter of the request. Following privilege: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) is required to invoke current api.",
        "operationId" : "updateContactGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact Group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Contact Group settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContactGroup"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContactGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "Delete a contact group by ID",
        "description" : "Delete a specific contact group by its ID. This endpoint deletes information about the given contact group. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the contact group ID using GET /contactGroups. You pass the contact group ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "removeContactGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact Group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contactGroups/query" : {
      "post" : {
        "tags" : [ "Contact Groups" ],
        "summary" : "Search contact Groups",
        "description" : "Get a list of contact groups that the authenticated user has access to based on filters. This endpoint returns the name, ID, linked user, contact members and other information about contact groups.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "searchContactGroups",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Search the contacts with name contain the pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "enabled",
          "in" : "query",
          "description" : "Search the contacts by status",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "contactMemberNumMin",
          "in" : "query",
          "description" : "Search the contacts with the minimum number of contact member",
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "contactMemberNumMax",
          "in" : "query",
          "description" : "Search the contacts with the maximum number of contact member",
          "schema" : {
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This parameter allows for more advanced options when querying subscriptions.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContactGroupQueryRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContactGroups"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contacts" : {
      "get" : {
        "tags" : [ "Contacts" ],
        "summary" : "List contacts",
        "description" : "Get a list of all contacts that the authenticated user has access to. This endpoint returns the name, ID, linked user, contact addresses and other information about contacts. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "listContacts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Contacts"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Contacts" ],
        "summary" : "Create contact",
        "description" : "Create a new contact.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header.You provide the information used to create a contact in the body parameter of the request. Following privilege: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) is required to invoke current api.",
        "operationId" : "createContact",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Contact settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Contact"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Contact"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contacts/{id}" : {
      "get" : {
        "tags" : [ "Contacts" ],
        "summary" : "Get contact by ID",
        "description" : "Get information of a specific contact by its ID. This endpoint returns the name, ID, linked user, contact addresses and other information about the given contact. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the contact ID using GET /contacts.You pass the contact ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "getContactById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Contact"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Contacts" ],
        "summary" : "Update contact",
        "description" : "Update a specific contact by its ID.You obtain the authorization token needed to execute the request using POST /auth/login;you pass the authorization token in the request header.You identify the contact by specifying the contact ID in the path of the request;you obtain the contact ID using GET /contacts.You provide the information used to update the contact in the body parameter of the request.Following privilege: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) is required to invoke current api.",
        "operationId" : "updateContact",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Contact settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Contact"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Contact"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Contacts" ],
        "summary" : "Delete contact by ID",
        "description" : "Delete a specific contact by its ID.This endpoint deletes information about the given contact. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the contact ID using GET /contacts. You pass the contact ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "removeContact",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Contact ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contacts/query" : {
      "post" : {
        "tags" : [ "Contacts" ],
        "summary" : "Search contacts",
        "description" : "Get a list of contacts that the authenticated user has access to based on filters. This endpoint returns the name, ID, linked user, contact addresses and other information about contacts. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "searchContacts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Search the contacts with name contain the pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "enabled",
          "in" : "query",
          "description" : "Search the contacts by status",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "contactGroupNumMin",
          "in" : "query",
          "description" : "Search the contacts with the minimum number of contact group",
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "contactGroupNumMax",
          "in" : "query",
          "description" : "Search the contacts with the maximum number of contact group",
          "schema" : {
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by fields. Use + prefix for ascending, - prefix for descending. Supported values: +name, -name, +status, -status. Can specify multiple sort fields.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "example" : "+name"
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This parameter allows for more advanced options when querying subscriptions.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContactQueryRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Contacts"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/contents" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "GET content cache objects for specific projects.\n",
        "description" : "GET the cache content objects for specific projects by providing the ProjectIDs and Intelligence Server cluster node name.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nAdditional filters can be applied to narrow down the resulting set of content caches.\n\nThe filters are:\n\n    - projectId\n    - cacheType\n    - cacheStatus\n    - cacheName\n    - cacheFormat\n    - cacheSize\n    - ownerName\n    - securityFilterID\n    - fileName\n    - databaseConnectionID\n    - databaseLoginID\n    - createTime\n\nDue to the potential amount of stored content cache objects, the limit and offset parameters are also required.\n",
        "operationId" : "getAllCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token. Generated by the server when a user logs in.\nIt can be obtained by sending a POST request to the /auth/login endpoint with the user's credentials.\nThe token is used to authenticate the user for subsequent requests.\nThe token is valid for a limited time and must be refreshed periodically.\n\n    Swagger example    'ch9oe63hb44dh6hl6bu83l3ujf'\n\n    Header example     'X-MSTR-AuthToken: ch9oe63hb44dh6hl6bu83l3ujf'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nIt does not support multiple delimited project ids, only one value per array item is allowed.\nIf no projectId is passed, filter by projectId will not apply and resulting dataset will contain content caches from all available projects.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754&projectId=7CC086914B26E2041A9B35AC33FC8C4A&'\n",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Status of the content cache.\n",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "ready", "processing", "invalid", "expired", "loaded", "filed", "dirty" ]
            }
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the content cache.\n",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "report", "document", "dossier", "docdossier", "docreport" ]
            }
          }
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Format of the content cache, intended for document and dossier cache.\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "excel", "pdf", "csv", "html", "xml", "plain_text", "binary_definition", "binary_data", "html5", "flash", "transaction", "" ]
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Content cache size in KB. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:1024'\n    `lt: ` - \"less than\"      example 'lt:1024'\n    `eq: ` - \"equal\",         example 'eq:1024'\n    NONE - if field is left empty filter for size will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "owner",
          "in" : "query",
          "description" : "Names of owner of content caches. Supports strict matching.\nIt does not support multiple names, only one value is allowed.\n\n    Swagger example    'MSTR User'\n                       'Administrator'\n\n    Curl example       '&owner=MSTR%20User'\n                       '&owner=Administrator'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentName",
          "in" : "query",
          "description" : "Name of the content cache. Supports strict matching search.\n\n    example 'Sales by Income Bracket (caching enabled)'\n    example 'Store Performance'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "query",
          "description" : "Security filter ID, this field accepts single GUID, or multiple GUID values separated by comma.\nIf no value is passed, filter by securityFilterID will not apply.\n\n    example 'E02FE6DC430378A8BBD315AA791FC580'\n    example 'E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "databaseConnection",
          "in" : "query",
          "description" : "Database connection ID, this field accepts single GUID, or multiple GUID values separated by comma.\nIf no value is passed, filter by databaseConnectionID will not apply.\n\n    example 'E02FE6DC430378A8BBD315AA791FC580'\n    example 'E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "databaseLogin",
          "in" : "query",
          "description" : "Database login ID, this fields accepts single GUID, or multiple GUID values separated by comma.\nIf no value is passed, filter by databaseLoginID will not apply.\n\n    example 'E02FE6DC430378A8BBD315AA791FC580'\n    example 'E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580,E02FE6DC430378A8BBD315AA791FC580'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filename",
          "in" : "query",
          "description" : "File name of the content cache, this field accepts any alphanumeric text, with minimum length of 3 characters.\nFiltering is executed via .contains search.\n\n    example 'che' will return all content caches with file name starting with 'Cache'\n    example '.che' will return all content caches with extension '.che'\n    example '.rwdc' will return all content caches with extension '.rwdc'\n",
          "schema" : {
            "pattern" : "^[A-Za-z0-9.]{3,}$",
            "type" : "string"
          }
        }, {
          "name" : "createTime",
          "in" : "query",
          "description" : "Creation time of a cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for creation will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "expiration",
          "in" : "query",
          "description" : "Expiration time of the cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for expiration will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "lastUpdated",
          "in" : "query",
          "description" : "Last update date of the cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for lastUpdated will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "lastHitTime",
          "in" : "query",
          "description" : "Last hit time of a cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for lastHit will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "hitCount",
          "in" : "query",
          "description" : "Hit count of the cache. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for hitCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "dbTablesUsed",
          "in" : "query",
          "description" : "Database tables used by the content cache. This field supports strict matching on any alphanumeric text.\n\n    Swagger example    'LU_MONTH_OF_YEAR'\n                       'LU_QUARTER'\n\n    Curl example       'dbTablesUsed=LU_MONTH_OF_YEAR&dbTablesUsed=LU_QUARTER'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "syncValidateCache",
          "in" : "query",
          "description" : "Validate the cache content with the source object.\nWhen parameter is present, and has value '1', the cache content is validated with the source object.\n\nThis field accepts value '1', in any other case execution will result in an Intelligence Server error.\n\n    Swagger example    '1'\n",
          "schema" : {
            "pattern" : "1",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Tenant id collection which is used for filtering data.\nIt supports multiple tenant ids passed as array.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.\n\n    Minimum value: 0\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.\nIn order to return all contents without limit, pass -1 as limit value.\n\n    Maximum value: 1000\n    Minimum value: -1\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Specify sorting criteria:\n\n    Valid operators:\n        '+field' means sorting field is in ascending order\n        '-field' means sorting field is in descending order\n\n    Valid fields for sorting:\n        type\n        status\n        projectId\n        projectName\n        size\n        format\n        owner\n        lastUpdated\n        expiration\n        hitCount\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContentCachesInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Monitors" ],
        "summary" : "Alter multiple content cache statuses or remove content caches entirely in multiple projects at specific node and return content caches with default offset of 0 and limit of 1000.",
        "description" : "Alter multiple content cache statuses or remove content caches entirely in multiple projects at specific node and return content caches with default offset of 0 and limit of 1000. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Provide the information to update or remove content caches in PATCH operation objects.Note: Second parameter in path of PATCH operation object is the combined id which consist of {cacheInstanceId}:{contentType}:{projectID} respectively encoded in base 64.",
        "operationId" : "alterContentCache",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Content caches update/remove information.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentCachePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentCachePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContentCachesInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/monitors/caches/aggregatedUsages" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get the aggregated content cache capacity usage info which groups by project or user",
        "description" : "Get the aggregated content cache capacity usage info which groups by project or user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getCacheAggregatedUsages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "aggregateBy",
          "in" : "query",
          "description" : "An enum to control the cache usage aggregated by which object, currently just support aggregated by project or user",
          "schema" : {
            "type" : "string",
            "default" : "project"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nIt does not support multiple delimited project ids, only one value per array item is allowed.\nIf no projectId is passed, filter by projectId will not apply and resulting dataset will contain content caches from all available projects.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754&projectId=7CC086914B26E2041A9B35AC33FC8C4A&'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Status of the content cache.\n",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "ready", "processing", "invalid", "expired", "loaded", "filed", "dirty" ]
            }
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the content cache.\n",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "report", "document", "dossier", "docdossier", "docreport" ]
            }
          }
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Format of the content cache, intended for document and dossier cache.\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "excel", "pdf", "csv", "html", "xml", "plain_text", "binary_definition", "binary_data", "html5", "flash", "transaction", "" ]
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Content cache size in KB. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:1024'\n    `lt: ` - \"less than\"      example 'lt:1024'\n    `eq: ` - \"equal\",         example 'eq:1024'\n    NONE - if field is left empty filter for size will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "owner",
          "in" : "query",
          "description" : "Names of owner of content caches. Supports strict matching.\nIt does not support multiple names, only one value is allowed.\n\n    Swagger example    'MSTR User'\n                       'Administrator'\n\n    Curl example       '&owner=MSTR%20User'\n                       '&owner=Administrator'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "expiration",
          "in" : "query",
          "description" : "Expiration time of the cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for expiration will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "lastUpdated",
          "in" : "query",
          "description" : "Last update date of the cache, this field accepts datetime in ISO8601 Zulu format. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:2025-04-12T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-12T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-04-12T02:00:00.000Z'\n    `be: ` - \"between\",       example 'be:2025-04-12T02:00:00.000Z,2025-04-15T02:00:00.000Z'\n    NONE - if field is left empty filter for lastUpdated will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "hitCount",
          "in" : "query",
          "description" : "Hit count of the cache. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for hitCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "syncValidateCache",
          "in" : "query",
          "description" : "Validate the cache content with the source object.\nWhen parameter is present, and has value '1', the cache content is validated with the source object.\n\nThis field accepts value '1', in any other case execution will result in an Intelligence Server error.\n\n    Swagger example    '1'\n",
          "schema" : {
            "pattern" : "1",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Tenant id collection which is used for filtering data.\nIt supports multiple tenant ids passed as array.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AggregatedCacheUsageInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contentGroups" : {
      "get" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Get all content group objects",
        "description" : "Get all content group objects which don't contain the dashboard(dossier) content.",
        "operationId" : "getContentGroups",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ContentGroupsResponse"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Create a new content group object",
        "description" : "Create a new content group object which includes name, color, opacity, emailEnabled, recipients. Following privilege: [DssXmlPrivilegesManageContentBundle](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) is required to invoke current api.",
        "operationId" : "createContentGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Content group information during creation",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ContentBundleCreationRequest"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContentBundleDetail"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contentGroups/{id}" : {
      "get" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Get a content group object by content group id",
        "description" : "Get a content group object by content group id, which contains basic infos like name, color, opacity, emailEnabled, recipients, not contain the group content",
        "operationId" : "getContentGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Content group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ContentBundleDetail"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Update basic info for a specific content group object",
        "description" : "Update basic info for a specific content group object including name, color, opacity, emailEnabled, recipients. Following privilege: [DssXmlPrivilegesManageContentBundle](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) is required to invoke current api.",
        "operationId" : "updateContentGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Content group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentBundlePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentBundlePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "207" : {
            "description" : "Partial success for multiple resources"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/contentGroups/{id}/contents" : {
      "get" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Get contents in a content group by content group id",
        "description" : "Get contents in a content group object which is usually a dashboard(dossier) list",
        "operationId" : "getContentGroupContent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Content group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "List of project ids",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ContentBundleContentResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Content Groups" ],
        "summary" : "Update contents in a content group by content group id",
        "description" : "Update contents to add or remove dashboards(dossiers) for a content group object. Following privilege: [DssXmlPrivilegesManageContentBundle](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) is required to invoke current api.",
        "operationId" : "updateContentGroupContent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Content group ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentBundleContentsPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentBundleContentsPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "207" : {
            "description" : "Partial success for multiple resources"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/cubes/{id}" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get an single cube cache info",
        "description" : "Get an single cube cache info.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify cube cache id in the path of the request, and you can get cube cache id from API GET /monitors/caches/cubes, then you can obtain the cube cache detail information",
        "operationId" : "getSingleCubeProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Cube cache id",
          "required" : true,
          "schema" : {
            "pattern" : "[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CubeCacheDetail"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Delete an cube cache",
        "description" : "Delete an cube cache.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.You need specify cube cache id in the path of the request, and you can get cube cache id from API GET /monitors/caches/cubes.",
        "operationId" : "deleteCubeCache",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Cube cache id",
          "required" : true,
          "schema" : {
            "pattern" : "[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Cube cache is deleted)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Monitors" ],
        "summary" : "Alter an cube cache status",
        "description" : "Alter an cube cache status in a specific cluster node.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.You need specify cube cache id in the path of the request, and you can get cube cache id from API GET /monitors/caches/cubes.",
        "operationId" : "alterCubeAction",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Cube cache id",
          "required" : true,
          "schema" : {
            "pattern" : "[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PartialUpdateCubeCacheInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Update an cube cache status asynchronously",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManipulationStatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/cubes" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get the list of cube caches on an specific cluster node\n",
        "description" : "GET the cube cache objects for specific projects by providing the ProjectIDs and Intelligence Server cluster node name.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nAdditional filters can be applied to narrow down the resulting set of content caches.\n\nThe filters are:\n\n    - projectId\n    - cubeIds\n    - status\n    - name\n    - cubeType\n    - size\n    - dataLanguages\n    - creatorName\n    - hitCount\n    - openViewCount\n    - databaseConnectionID\n    - creationTime\n    - lastUpdateTime\n\nDue to the potential amount of stored content cache objects, the limit and offset parameters are also required.\n",
        "operationId" : "getAllCubeCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token. Generated by the server when a user logs in.\nIt can be obtained by sending a POST request to the /auth/login endpoint with the user's credentials.\nThe token is used to authenticate the user for subsequent requests.\nThe token is valid for a limited time and must be refreshed periodically.\n\n    Swagger example    'ch9oe63hb44dh6hl6bu83l3ujf'\n\n    Header example     'X-MSTR-AuthToken: ch9oe63hb44dh6hl6bu83l3ujf'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectIds",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nIt supports multiple project ids delimited by comma.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Cube Object IDs",
          "in" : "query",
          "description" : "Cached cube id collection which is used for filtering data.\nIt supports multiple cube ids delimited by comma.\n\n    example    'B19DEDCC11D4E0EFC000EB9495D0F6E2'\n               'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "state.loadedState",
          "in" : "query",
          "description" : "State of the cube cache. Valid values are :\n\n    'loaded'             When the cube cache is loaded it has only statuses            \"loaded\", \"active\" and \"persisted\"\n    'unloaded'           When the cube cache is not loaded it has only statuses        \"active\" and \"persisted\"\n    'syncing'            When the cube cache is synchronizing it has only statuses     \"dirty\" and \"infoDirty\"\n    'processing'         When the cube cache is being processed it has only status     \"processing\"\n    'unavailable'        When the cube cache is not available it has only status       \"persisted\"\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "loaded", "unloaded", "syncing", "processing", "unavailable" ]
          }
        }, {
          "name" : "cubeName",
          "in" : "query",
          "description" : "The name of the cube\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeType",
          "in" : "query",
          "description" : "The type of the cached cube, valid values are :\n\n    'dda'\n    'in_memory'\n    'unknown'\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "unknown", "in_memory", "dda", "off_memory" ]
          }
        }, {
          "name" : "cubeSize",
          "in" : "query",
          "description" : "Size of the cube cache in MB. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:1024'\n    `lt: ` - \"less than\"      example 'lt:1024'\n    `eq: ` - \"equal\",         example 'eq:1024'\n    NONE - if field is left empty filter for size will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "dataLanguage",
          "in" : "query",
          "description" : "The language of the cube, this field accepts language names, language tags and LCIDs.\nIt supports multiple language names or tags delimited by comma. Response will contain all cube caches that contain at least one of the specified languages.\nLanguage names, their tags and LCID can be mixed.\n\n    example    'en_US'\n               'en_US,fr_FR'\n               'English,French'\n               'English (US),French (France)'\n               '1033,fr_FR'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeCreatorName",
          "in" : "query",
          "description" : "Name of the cube's creator\n\n    example    'MSTR User'\n               'Administrator'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hitCount",
          "in" : "query",
          "description" : "Hit count of the cache. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for hitCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "openViewCount",
          "in" : "query",
          "description" : "Open view count number of a cube. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for openViewCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "databaseConnectionId",
          "in" : "query",
          "description" : "Database Connection ID is the id of the database connection the cube was published with, supports strict matching search.\nIt supports multiple database connection ids delimited by colon.\n\n    Swagger example    'E02FE6DC430378A8BBD315AA791FC580'\n                       'E02FE6DC430378A8BBD315AA791FC580:E02FE6DC430378A8BBD315AA791FC580'\n\n    Curl example       '&databaseConnection=E02FE6DC430378A8BBD315AA791FC580:E02FE6DC430378A8BBD315AA791FC580'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "createTime",
          "in" : "query",
          "description" : "Creation time of a cache, this field accepts datetime in ISO8601 Simplified format. Valid operators are :\n\n     `gt: ` - \"greater than\"   example 'gt:2025-04-12 02:00:00'\n     `lt: ` - \"less than\"      example 'lt:2025-04-12 02:00:00'\n     `eq: ` - \"equal\",         example 'eq:2025-04-12 02:00:00'\n     `be: ` - \"between\",       example 'be:2025-04-12 02:00:00 ,2025-04-15 02:00:00'\n     NONE - if field is left empty filter for createTime will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}|be:\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
            "type" : "string"
          }
        }, {
          "name" : "lastUpdated",
          "in" : "query",
          "description" : "Last update time of the cube cache, this field accepts datetime in ISO8601 Simplified format. Valid operators are :\n\n     `gt: ` - \"greater than\"   example 'gt:2025-04-12 02:00:00'\n     `lt: ` - \"less than\"      example 'lt:2025-04-12 02:00:00'\n     `eq: ` - \"equal\",         example 'eq:2025-04-12 02:00:00'\n     `be: ` - \"between\",       example 'be:2025-04-12 02:00:00 ,2025-04-15 02:00:00'\n     NONE - if field is left empty filter for createTime will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}|be:\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Tenant id collection which is used for filtering data.\nIt supports multiple tenant ids passed as array.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.\n\n    Minimum value: 0\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.\n\n    Maximum value: 1000\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "specify sorting criteria, for example '+name,-size' means sorting name ascending and size descending",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CubeCachesInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/cubes/aggregatedUsages" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get the aggregated cube cache capacity usage info which groups by project or user\n",
        "description" : "GET the aggregated cube cache capacity usage information for specific projects by providing :\n    - ProjectIDs,\n    - Intelligence Server cluster node name\n    - aggregation parameter, either 'user' or 'project'\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nAdditional filters can be applied to narrow down the resulting set of content caches.\n\nThe filters are:\n\n    - projectId\n    - name\n    - status\n    - owner\n    - size\n    - hitCount\n    - openViewCount\n    - databaseConnection\n    - accessMode\n    - locale\n    - creationTime\n    - lastUpdated\n",
        "operationId" : "getCubeCacheAggregatedUsages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "aggregateBy",
          "in" : "query",
          "description" : "Aggregation property, it allows selection between aggregating by users and aggregating by projects.\n\n    example    'user'\n               'project'\n",
          "schema" : {
            "type" : "string",
            "default" : "project"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nIt supports multiple project ids delimited by comma.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "The name of the cube\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "State of the cube cache. This filter works as \"any\" operator.\nIt means that response will contains aggregated usages from caches with any of passed states.\n\n    example.\n        'loaded'                Will return all caches with at least 'loaded' status\n        'loaded, persisted'     Will return all caches with either loaded or persisted or both statuses\n\n    Valid values are :\n\n    'loaded'\n    'dirty'\n    'infoDirty'\n    'persisted'\n    'active'\n    'processing'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "owner",
          "in" : "query",
          "description" : "Name of the cube's creator\n\n    example    'MSTR User'\n               'Administrator'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "Size of the cube cache in MB. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:1024'\n    `lt: ` - \"less than\"      example 'lt:1024'\n    `eq: ` - \"equal\",         example 'eq:1024'\n    NONE - if field is left empty filter for size will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "hitCount",
          "in" : "query",
          "description" : "Hit count of the cache. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for hitCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "openViewCount",
          "in" : "query",
          "description" : "Open view count number of a cube. Valid operators are :\n\n    `gt: ` - \"greater than\"   example 'gt:10'\n    `lt: ` - \"less than\"      example 'lt:10'\n    `eq: ` - \"equal\",         example 'eq:10'\n    NONE - if field is left empty filter for openViewCount will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "databaseConnection",
          "in" : "query",
          "description" : "Database Connection ID is the id of the database connection the cube was published with, supports strict matching search.\nIt supports multiple database connection ids delimited by colon.\n\n    Swagger example    'E02FE6DC430378A8BBD315AA791FC580'\n                       'E02FE6DC430378A8BBD315AA791FC580:E02FE6DC430378A8BBD315AA791FC580'\n\n    Curl example       '&databaseConnection=E02FE6DC430378A8BBD315AA791FC580:E02FE6DC430378A8BBD315AA791FC580'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "accessMode",
          "in" : "query",
          "description" : "The type of the cached cube, valid values are :\n\n    'dda'\n    'in_memory'\n    'unknown'\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "unknown", "in_memory", "dda", "off_memory" ]
          }
        }, {
          "name" : "locale",
          "in" : "query",
          "description" : "The language of the cube, this field accepts language names, language tags and LCIDs.\nIt supports multiple language names or tags delimited by comma. Response will contain all cube caches that contain at least one of the specified languages.\nLanguage names, their tags and LCID can be mixed.\n\n    example    'en_US'\n               'en_US,fr_FR'\n               'English,French'\n               'English (US),French (France)'\n               '1033,fr_FR'\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "createTime",
          "in" : "query",
          "description" : "Creation time of a cache, this field accepts datetime in ISO8601 Simplified format. Valid operators are :\n\n     `gt: ` - \"greater than\"   example 'gt:2025-04-12 02:00:00'\n     `lt: ` - \"less than\"      example 'lt:2025-04-12 02:00:00'\n     `eq: ` - \"equal\",         example 'eq:2025-04-12 02:00:00'\n     `be: ` - \"between\",       example 'be:2025-04-12 02:00:00 ,2025-04-15 02:00:00'\n     NONE - if field is left empty filter for createTime will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "lastUpdated",
          "in" : "query",
          "description" : "Last update time of the cube cache, this field accepts datetime in ISO8601 Simplified format. Valid operators are :\n\n     `gt: ` - \"greater than\"   example 'gt:2025-04-12 02:00:00'\n     `lt: ` - \"less than\"      example 'lt:2025-04-12 02:00:00'\n     `eq: ` - \"equal\",         example 'eq:2025-04-12 02:00:00'\n     `be: ` - \"between\",       example 'be:2025-04-12 02:00:00 ,2025-04-15 02:00:00'\n     NONE - if field is left empty filter for createTime will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Tenant id collection which is used for filtering data.\nIt supports multiple tenant ids passed as array.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AggregatedCacheUsageInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/cubes/manipulations/{id}/status" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get the manipulation status",
        "description" : "Get the manipulation status.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify manipulation id in the path of the request, and you can get the manipulation id from API PATCH /monitors/caches/cubes/{id}, then you can obtain the status.",
        "operationId" : "getManipulationStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Cache manipulation id",
          "required" : true,
          "schema" : {
            "pattern" : "[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManipulationStatusInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/cubes/manipulations/statuses" : {
      "post" : {
        "tags" : [ "Monitors" ],
        "summary" : "Fetching multi manipulations statuses with provided multi manipulation IDs",
        "description" : "Fetching multi manipulations statuses with provided multi manipulation IDs.You obtain the authorization token needed to execute the request using POST /auth/login; You must need to set the content-type value 'application/x-www-form-urlencoded', then set the request body as 'x-www-form-urlencoded' way, the body input is like 'manipulationIds=id1,id2,...,idN', you can get the manipulation id from API PATCH /api/monitors/caches/cubes/{cacheId}.",
        "operationId" : "getMultiManipulationsStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-HTTP-Method-Override",
          "in" : "header",
          "description" : "The X-HTTP-Method-Override HTTP header works somewhat similar to a hack. You can add the header with a value of either PUT, GET or DELETE when invoking your corresponding API by using an HTTP POST call",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : "get",
            "enum" : [ "get", "post", "put", "delete", "patch" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/x-www-form-urlencoded" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "manipulationIds" : {
                    "type" : "string",
                    "description" : "Cache manipulation ids, separated with ','"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ManipulationStatusInfos"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/cubes/{cubeId}/instances" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Create a new cube instance",
        "description" : "Create a new instance of a specific cube. This in-memory instance can be used by other requests. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request. You use the offset and limit query parameters in the request to determine the data displayed on the page; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. In the body parameter of the request, you specify the data to be included in the instance, such as attributes, metrics, view filter, metric limits, and sorting criteria.",
        "operationId" : "createCubeInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the instance – such as attribute values, metric values, view filters, metric limits, and sorting criteria.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigRequestedObjectsV1SortingConfigV1"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/cubes/{cubeId}/instances/{instanceId}/attributes/{attributeId}/elements" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get elements for a specific attribute in a specific cube",
        "description" : "Get a list of elements for a specific attribute in a specific cube in a specific project. The cube can be either an OLAP Cube or a Direct Data Access (DDA)/MDX cube. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the cube ID, the cube instance ID, and the attribute ID in the path  of the request. You use the offset and limit query parameters to control paging behavior; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. You use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getAttributeElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Cube instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectNameAndId"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/cubes/{cubeId}/attributes/{attributeId}/elements" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get elements for a specific attribute in a specific cube (does not use a Cube Instance)",
        "description" : "Get a list of elements for a specific attribute in a specific cube in a specific project. The cube can be either an OLAP Cube or a Direct Data Access (DDA)/MDX cube. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the cube ID, and the attribute ID in the path of the request. You use the offset and limit query parameters to control paging behavior; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. You use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getCubeAttributeElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "baseFormIds",
          "in" : "query",
          "description" : "Attribute Base Form IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The search term from name of attribute element. For example, if this parameter is “Q3 year”, the search would return all results containing “Q3” or “year”. If it is empty, the search would return all elements of the attribute.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "timezoneId",
          "in" : "query",
          "description" : "The timezone ID to filter the attribute elements",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeCacheId",
          "in" : "query",
          "description" : "Cube cache id",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "elementIdFormat",
          "in" : "query",
          "description" : "The element ID format in the response. Current we only support 'terse_long', for example, h1;8D679D4B11D3E4981000E787EC6DE8A4;Northeast.",
          "schema" : {
            "type" : "string",
            "enum" : [ "TERSE_LONG" ]
          }
        }, {
          "name" : "searchForms",
          "in" : "query",
          "description" : "The forms of target object to filter the elements in the result",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectNameAndId"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/cubes/{cubeId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get a cube definition",
        "description" : "Get the definition of a specific cube, including attributes and metrics. The cube can be either an OLAP Cube or a Direct Data Access (DDA)/MDX cube. The in-memory cube definition provides information about all available objects without actually running any data query/report. The results can be used by other requests to help filter large datasets and retrieve values dynamically, helping with performance and scalability. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request.",
        "operationId" : "getDefinition",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "head" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the status of a cube",
        "description" : "Get the status of a specific cube in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request. The status is returned in HEADER X-MSTR-CubeStatus with a value from [EnumDSSCubeStates](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSCubeStates.html), which is a bit vector.",
        "operationId" : "getCubeById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized"
          }
        }
      }
    },
    "/api/cubes" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get information for specific cubes",
        "description" : "Get information for specific cubes in a specific project. The cubes can be either OLAP cubes or Direct Data Access (DDA)/MDX cubes. This request returns the cube name, ID, size, status, path, last modification date, and owner name and ID. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the IDs of the cubes that you want to get information about as the value of a query parameter; the value is an array of cube IDs.",
        "operationId" : "getCubes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "Cube Object IDs",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CubeInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/cubes/{cubeId}/instances/{instanceId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the results of a specific cube instance",
        "description" : "Get the results of a previously created instance of a specific cube, using the in-memory instance created by a POST /cubes/{cubeId}/instances request.\nYou obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID and the cube instance ID in the path of the request. You use the offset and limit query parameters in the request to determine the data displayed on the page; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return.",
        "operationId" : "getReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Cube instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datamarts/{dataMartId}/instances/{instanceId}" : {
      "delete" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Delete a data mart instance",
        "description" : "Delete a data mart instance.\n You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID and report instance ID in the path of the request.",
        "operationId" : "deleteDataMartInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataMartId",
          "in" : "path",
          "description" : "Data Mart ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datamarts/{dataMartId}/instances/{instanceId}/execution/jobs" : {
      "post" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Execute a data mart to update the corresponding cube.",
        "description" : "Execute a data mart to update the corresponding cube. \nYou obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the data mart ID and the data mart instance ID in the path of the request; ",
        "operationId" : "execute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataMartId",
          "in" : "path",
          "description" : "Data Mart ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataMartReportJobId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datamarts/{dataMartId}/instances/{instanceId}/execution" : {
      "get" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Get the execution status of a data mart instance.",
        "description" : "Get the execution status of a data mart instance; see [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values. It returns the body field 'status' with the status message.\nYou obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You specify the data mart ID and the data mart instance ID in the path of the request.",
        "operationId" : "getExecution",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataMartId",
          "in" : "path",
          "description" : "Data Mart ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "instanceId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataMartReport"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataMartReport"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/instances" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a data model instance",
        "description" : "Create a new instance of a specific data model. This in-memory instance can be used by other requests. Set the parameter showInvalidCacheTableIds as a query parameter (Boolean) to show invalid table caches. The default value is 'false'. When publishing the data model, the refresh policy for tables with invalid caches should be 'replace'. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the data model ID in the path of the request.",
        "operationId" : "createDataModelInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showInvalidCacheTableIds",
          "in" : "query",
          "description" : "Data model show invalid cache table ids.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/instances/{instanceId}" : {
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete data model instance",
        "description" : "Delete a specific data model instance. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects; you obtain the data model instance ID using POST /dataModels/{dataModelId}/instances. You pass the authorization token and the project ID in the request header. You specify the data model ID and the data model instance ID in the path of the request.",
        "operationId" : "deleteDataModelInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Data model instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/attributes/{attributeId}/elements" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get elements for a specific attribute in a specific data model",
        "description" : "Get elements for a specific attribute in a specific data model. The data model can be either an in-memory data model or a live mode data model. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the data model ID, and the attribute ID in the path of the request. You use the offset and limit query parameters to control paging behavior; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. You use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getDataModelAttributeElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The search term from name of attribute element. For example, if this parameter is “Q3 year”, the search would return all results containing “Q3” or “year”. If it is empty, the search would return all elements of the attribute.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "elementIdFormat",
          "in" : "query",
          "description" : "The element ID format in the response. Current we only support 'terse_long', for example, h1;8D679D4B11D3E4981000E787EC6DE8A4;Northeast.",
          "schema" : {
            "type" : "string",
            "enum" : [ "TERSE_LONG" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectNameAndId"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/securityFilters" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get all list of security filter for a data model",
        "description" : "Get all list of security filter for a data model. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the data model ID in the path of the request. You can set the offset and limit for pagination function.",
        "operationId" : "getDataModelSecurityFilters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityFilter"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/securityFilters/{securityFilterId}/members" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get the users and user groups that the specified data model security filter is applied to ",
        "description" : "Get the users and user groups that the specified data model security filter is applied to. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the data model ID and security filter ID in the path of the request. You can set the offset and limit for pagination function.",
        "operationId" : "getSecurityFilterUsers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsersAndGroupsInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update members information for a specific security filter in data model",
        "description" : "Updates members information for a specific security filter in data model. Grants a security filter to users or user groups. Revokes a security filter from users or groups. Obtain the authorization token to execute the request using POST /auth/login and pass the authorization token in the request header. Identify the security filter to update by specifying the data model ID and security filter ID in the path of the request. Then provide the information to update the security filter in the body parameter of the request.",
        "operationId" : "updatePartialSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security filter update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityFilterPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityFilterPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/publishStatus" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get the publish status of data model instance",
        "description" : "After publishing a data model, this API can be used to get the publish status. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects; you obtain the data model instance ID using POST /dataModels/{dataModelId}/instances. You pass the authorization token and the project ID in the request header. You specify the data model ID in the path of the request. You specify the data model instance ID in the header of the request. The response contains the publish status for each table in the data model.",
        "operationId" : "pollPublishStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-DataModelInstanceId",
          "in" : "header",
          "description" : "Data model instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataModelPublishStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataModels/{dataModelId}/publish" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Publish a data model",
        "description" : "Publish a specific data model in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects; you obtain the data model instance ID using POST /dataModels/{dataModelId}/instances. You pass the authorization token and the project ID in the request header. You specify the data model ID in the path of the request. You provide the data model refresh settings in the body of the request. The data model refresh settings include the table refresh settings, which specify the refresh policy for each table in the data model. The refresh policy can be 'replace', 'add', 'update', or 'upsert'.",
        "operationId" : "publishDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-DataModelInstanceId",
          "in" : "header",
          "description" : "Data model instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data model ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Data model refresh setting",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataModelRefreshSetting"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets" : {
      "post" : {
        "tags" : [ "Datasets" ],
        "summary" : "Create a single-table dataset",
        "description" : "Create a structured dataset with a single table, using external data uploaded to the Intelligence Server. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You define the dataset to be created in the body parameter of the request, including the name of the dataset, the name of the table, and a description of the columns, attributes, and metrics in the table. This request returns the name and ID of the dataset and the name and ID of the single table it contains.\n\nNote: datasets created by this API can only be published or republished by PATCH /datasets/{datasetId}/tables/{tableId}\n    or\nAPIs under /datasets/{datasetId}/uploadSessions endpoint.",
        "operationId" : "createDICube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dataset creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DatasetCreator"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Dataset"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/models" : {
      "post" : {
        "tags" : [ "Datasets" ],
        "summary" : "Create the definition of a multi-table dataset",
        "description" : "Create the definition of a dataset containing one or more tables. The definition includes the name and description of the dataset and the name and description of each table, attribute, and metric within the dataset. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the information used to create the dataset definition in the body parameter of the request; you specify the name and description of the dataset, the ID of the folder where the dataset definition will be saved, and a description of the tables, attributes, and metrics in the dataset. If the folder ID is not provided, the dataset will be saved in the user's My Reports folder. For each table in the dataset, you provide the name of the table and the name and datatype of each column in the table. For each metric in the dataset, provide the name of the metric, the names of all of the tables that include that metric, and the name of the column in each table that holds the metric. For each attribute in the dataset, provide the name of the attribute, the attribute form, the names of all of the tables that include that attribute, and the name of the column in each table that holds the attribute. Valid attribute forms are ID or DESC; longitude and latitude attribute forms are not supported. This request returns the name and ID of the dataset.\n\nTo create a multi-table dataset, use the requests in the order shown below:\n\n1. POST /datasets/models\n2. POST /datasets/{datasetId}/uploadSessions\n3. PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId}\n4. POST /datasets/{datasetId}/uploadSessions/{uploadSessionId}/publish\n5. GET /datasets/{datasetId}/uploadSessions/{uploadSessionId}/publishStatus\n\nNote: datasets created by this API can only be published or republished by APIs under /datasets/{datasetId}/uploadSessions endpoint.",
        "operationId" : "createTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dataset definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PushAPIDataset"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasetBasicInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}" : {
      "get" : {
        "tags" : [ "Datasets" ],
        "summary" : "Get the definition of a dataset",
        "description" : "Get the definition of a specific MTDI dataset; this can be either a single-table dataset or a dataset with multiple tables. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID in the path of the request; you obtain the dataset ID from POST /datasets or POST /datasets/models. You specify the kind of data to return using the 'fields' query parameter in the request; possible values include tables, columns, attributes, and metrics. You can specify multiple values for the 'fields' parameter by adding each value in a new line in the 'fields' value textbox; if you don't specify any value, attributes and metrics will be returned.",
        "operationId" : "getDatasetInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Specifies object types to be returned. Possible values include tables, columns, attributes, and metrics. If no value is set, attributes and metrics are returned.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasetInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}/uploadSessions/{uploadSessionId}" : {
      "put" : {
        "tags" : [ "Datasets" ],
        "summary" : "Upload data to a multi-table dataset",
        "description" : "Iteratively upload data to the Intelligence Server that matches formatting information provided by the previous (required) POST /datasets/{datasetId}/uploadSessions request. For large data volumes, the data should first be split into smaller chunks. This request should then be called until all chunks have been uploaded. Once all the data has been uploaded, call POST /datasets/{datasetId}/uploadSessions/{uploadSessionId}/publish to update the dataset with the newly uploaded data according to the previously specified update policy. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID and the upload session ID in the path of the request; you obtain the dataset ID from POST /datasets/models, and the upload session ID from POST /datasets/{datasetId}/uploadSessions. You provide information about each table in the body parameter, including the table name, the index of each chunk of data, and the base64 encoded chunk of data.\n\nData formatting before base64 encoding:\n\nIn 'ROW' orientation, each subarray corresponds to data in a row:\n\n    [\n        [data_col1_row1, data_col2_row1],\n        [data_col1_row2, data_col2_row2]\n    ]\n\nIn 'COLUMN' orientation, each subarray corresponds to data in a column:\n\n    [\n        [data_col1_row1, data_col1_row2],\n        [data_col2_row1, data_col2_row2]\n    ]\n\nIf data contain values of Date, DateTime or Time type, only ISO8601 date formats are supported.",
        "operationId" : "pushApiV2AddData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "uploadSessionId",
          "in" : "path",
          "description" : "Upload session ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Raw table data",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PushAPIAddDataTable"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Datasets" ],
        "summary" : "Delete a multi-table dataset upload session and cancel publication",
        "description" : "Delete a specific multi-table dataset upload session. If the upload session has not been published, all dataset update operations for the current upload session will be canceled and the uploaded data will be discarded. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID and the upload session ID in the path of the request; you obtain the dataset ID from POST /datasets/models, and the upload session ID from POST /datasets/{datasetId}/uploadSessions.",
        "operationId" : "pushApiV2Cancel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "uploadSessionId",
          "in" : "path",
          "description" : "Upload session ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}/uploadSessions" : {
      "post" : {
        "tags" : [ "Datasets" ],
        "summary" : "Create a multi-table dataset upload session",
        "description" : "Create a multi-table dataset upload session and provide formatting information for data that is to be uploaded to the Intelligence Server. Formatting information is used by the Intelligence Server to parse data from a subsequent PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} request. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID in the path of the request. You obtain the dataset ID from POST /datasets/models. In the body of the request, you must provide the name and update policy for each table in the dataset. The update policy refers to how updates are applied to existing data in the dataset; valid values are 'add', 'update', 'upsert', and 'replace'. Optionally, you can also provide the orientation and column headers for each table in the body of the request; these parameters define how data is arranged in subsequent PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} requests and processed by the Intelligence Server. The orientation parameter specifies whether the array of data provided in subsequent PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} requests is arranged by rows or columns. Valid orientations are 'ROW' and 'COLUMN'; if the orientation parameter is not provided, 'ROW' is used. Refer to documentation within PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} for an example of 'ROW' and 'COLUMN' orientation. The columnHeaders parameter accepts an optional list of column names; data provided in subsequent PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} requests should have the same order as the column names in columnHeaders. If the columnHeaders parameter is not provided, the order of column names in the response of GET datasets/{datasetId}?fields=columns is used.",
        "operationId" : "pushApiV2CreateUploadSession",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Table formatting",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PushAPICreateSessionBody"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PushAPIResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}/uploadSessions/{uploadSessionId}/publishStatus" : {
      "get" : {
        "tags" : [ "Datasets" ],
        "summary" : "Get multi-table dataset publication status",
        "description" : "Get the status of a multi-table dataset update operation after new data was uploaded to the dataset and published. This request should be called after POST /datasets/{datasetId/uploadSessions/{uploadSessionId}/publish. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID and the upload session ID in the path of the request; you obtain the dataset ID from POST /datasets/models, and the upload session ID from POST /datasets/{datasetId}/uploadSessions. This request returns a status value; when the value is '1', the update action has finished.",
        "operationId" : "pushApiV2GetPublishStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "uploadSessionId",
          "in" : "path",
          "description" : "Upload session ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PushAPIPublishStatus"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}/uploadSessions/{uploadSessionId}/publish" : {
      "post" : {
        "tags" : [ "Datasets" ],
        "summary" : "Publish a multi-table dataset",
        "description" : "Publish a specific multi-table dataset using data uploaded to the Intelligence Server. This request should be used after calling PUT /datasets/{datasetId}/uploadSessions/{uploadSessionId} as many times as needed to upload all the data. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the dataset ID and the upload session ID in the path of the request; you obtain the dataset ID from POST /datasets/models, and the upload session ID from POST /datasets/{datasetId}/uploadSessions.",
        "operationId" : "pushApiV2Publish",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "uploadSessionId",
          "in" : "path",
          "description" : "Upload session ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasets/{datasetId}/tables/{tableId}" : {
      "patch" : {
        "tags" : [ "Datasets" ],
        "summary" : "Update data in a single-table dataset",
        "description" : "Update a structured dataset with a single table, using external data uploaded to the MicroStrategy Intelligence Server. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token, the project ID, and the update operation to be performed ('add', 'update', 'upsert', or 'replace') in the request header. You specify the IDs of the dataset and table being updated in the path of the request. You provide the information needed to update the dataset in the body parameter of the request, including the name of the table to be updated, a description of the columns in the table, and the data used by the update operation. ",
        "operationId" : "updateDICube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasetId",
          "in" : "path",
          "description" : "Dataset ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID or name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "updatePolicy",
          "in" : "header",
          "description" : "Update operation type: Add, Update, Upsert, Replace",
          "schema" : {
            "type" : "string",
            "default" : "Replace"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dataset update info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TableCreator"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TableCreator"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/oauth/auth" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Generate auth url for a specific datasource",
        "description" : "OAuth Client ID and Client Secret are stored in I-Server’s metadata, when the user passes Datasource ID to I-Server, I-Server will use it to get OAuth application information from metadata, and then compose the authorization URI.",
        "operationId" : "generateAuthorizationUri",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "useDynamicRedirectUri",
          "in" : "query",
          "description" : "Use dynamic redirect_uri ",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceAuthUrlInfoResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/oauth/token" : {
      "put" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Using authorization code to retrieve access and refresh tokens for a specific datasource",
        "description" : "After client receives the authorization code through redirection, it passes the Datasource ID and authorization code to I-Server. I-Server will get OAuth application information (Client ID, Client Secret) from MD by Datasource ID and exchanges tokens from IDP with the Authorization Code from the client. After the tokens are retrieved, I-Server will save the tokens to MD and user runtime.",
        "operationId" : "retrieveTokens",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Retrieve Datasource Auth Tokens Request",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DatasourceRetrieveOAuthTokenRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/connections" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get information for all datasource connections",
        "description" : "Get information for all datasource connections. You obtain authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getDatabaseConnections",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionsInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Create a datasource connection",
        "description" : "Create a datasource connection. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "createDatabaseConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Datasource connection information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ConnectionCreationInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/mappings" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get info for a specific database connection map",
        "description" : "Get information for a specific database connection map. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You need to provide projectId if default Connection map type is set to true. For user-defined connection map links, projectId is optional parameter for it.",
        "operationId" : "getConnectionMappings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "defaultConnectionMap",
          "in" : "query",
          "description" : "Connection map type",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionMaps"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Create a database connection map",
        "description" : "Create a new connection map. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information needed to create the new connection map in the body parameter of the request; you must provide a project id which you will get from GET /projects, connection id which you will get from GET /datasources/connections, datasource id which you will get from GET /datasources and database login id which you will get from GET /datasources/logins. For locale, it would work with either locale id or locale name. Locale name should provided in form of 'language_COUNTRY' such as de_DE, zh_TW, en_US, ja_JP, it_IT etc. Following privilege: [DssXmlPrivilegesConfigureConnectionMap](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureConnectionMap) is required to invoke current api.",
        "operationId" : "createDatabaseMapping",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : " Create connection map",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ConnectionMapCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionMap"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get info for all database sources",
        "description" : "Get information for all database sources. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You can use query parameters to specify the datasource idsand the database types in form of list.",
        "operationId" : "getDatasources",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "Datasource id",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "database.type",
          "in" : "query",
          "description" : "Comma-separated string of database types",
          "schema" : {
            "type" : "string",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Datasources"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Create a database source",
        "description" : "Create a new database source. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information needed to create the new database source in the body parameter of the request; you must provide a name, but you can also provide a description, the ID of the database management system (DBMS), the ID of the database connection, and the type of database source. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "createDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Datasource information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/DatasourceUpdateInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/logins" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get datasource logins",
        "description" : "Get information for all datasource logins. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getDatasourceLogins",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceLogins"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Create a datasource login",
        "description" : "Create a new datasource login. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information needed to create the new datasource login in the body parameter of the request; you must provide the name used to log in to the metadata and the name and password used to connect to the datasource, but you can also provide a description of the datasource.",
        "operationId" : "createDatasourceLogin",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Datasource login information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/DatasourceLoginCreation"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/DatasourceLoginImpl"
                  }, {
                    "$ref" : "#/components/schemas/DatasourceVaultSecretLoginImpl"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/scripts" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Create a datasource together with a standalone script",
        "description" : "Create a new datasource together with a standalone script. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information needed to create the new datasource and script in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "createDatasourceScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataSourceScriptRequestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/connections/{id}/conversion" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Convert DSN to DSN-less format connection string and update the object to metadata",
        "description" : "Convert DSN to DSN-less format connection string and update the object to metadata.Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "datasourceConnectionConversion",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/conversion" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Convert DSN to DSN-less format connection string and update the object to metadata",
        "description" : "Convert DSN to DSN-less format connection string and update the object to metadata. This only supports for data sources that have embedded connection inside it.Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "datasourceConversion",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/mappings/{id}" : {
      "delete" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Delete a specific connection map id.",
        "description" : "Delete a specific connection map id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the connection map id in the path of the request; you obtain the database connection map ID using GET /datasources/mappings. Following privilege: [DssXmlPrivilegesConfigureConnectionMap](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureConnectionMap) is required to invoke current api.",
        "operationId" : "deleteConnectionMapping",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Connection map ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/scripts/{id}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get datasource script for a given ID",
        "description" : "Get information for a given datasource script ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the script ID in the path of the request; you obtain the datasource script ID using GET /datasources/scripts.",
        "operationId" : "getDataSourceScriptById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptDetailInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update a datasource script",
        "description" : "Update information for a given datasource script. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the datasource script ID in the path of the request. You obtain the script ID using GET /datasources/scripts. You provide the information to update the datasource script in the body parameter of the request.",
        "operationId" : "updateDataSourceScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataSourceScriptRequestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptDetailInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/connections/{id}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get a datasource connection for given ID",
        "description" : "Get a datasource connection for given id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the datasource login ID using GET /datasources/connections",
        "operationId" : "getDatabaseConnectionById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Delete a datasource connection",
        "description" : "Delete a datasource connection based on id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the datasource login ID in the path of the request; you obtain the database source ID using GET /datasources/connections. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "deleteDatabaseConnectionById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update a datasource connection",
        "description" : "Update a datasource connection. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "updateDatasourceConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsConnectionPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsConnectionPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get info for a specific database source",
        "description" : "Get information for a specific database source. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the datasource ID using GET /datasources.",
        "operationId" : "getDatasourceById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Delete a specific database source.",
        "description" : "Delete a specific database source based on id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the database login ID in the path of the request; you obtain the database source ID using GET /datasources. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "deleteDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update info for a specific database source",
        "description" : "Update selected information for a specific database source. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the database source ID using GET /datasources. You provide the information needed to update the database source in the body parameter of the request; Currently 'replace' operation is only allowed. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "updateDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDBRolePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDBRolePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DatasourceInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/logins/{id}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get datasource login for a specific id",
        "description" : "Get information for a specific datasource login id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the datasource login ID using GET /datasources/logins.",
        "operationId" : "getDatasourceLoginById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource login ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/DatasourceLoginImpl"
                  }, {
                    "$ref" : "#/components/schemas/DatasourceVaultSecretLoginImpl"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Delete a datasource login",
        "description" : "Delete a specific datasource login based on id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the datasource login ID in the path of the request; you obtain the database source ID using GET /datasources/logins}.",
        "operationId" : "deleteDatasourceLogin",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource login ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update a datasource login",
        "description" : "Update selected information for a specific datasource login.You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the datasource login ID in the path of the request. You obtain the database source ID using GET /datasources/logins. You provide the information needed to update the datasource login in the body parameter of the request; Currently 'replace' operation is only allowed.",
        "operationId" : "updateDatasourceLogin",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource login ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Replace operation to be performed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDatasourceLoginPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDatasourceLoginPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/DatasourceLoginImpl"
                  }, {
                    "$ref" : "#/components/schemas/DatasourceVaultSecretLoginImpl"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/databaseSourceNames" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get a list of DSNs configured on the I-Server machine.",
        "description" : "Get information for all database datasource names (DSNs). You obtain authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseDatabaseConnectionMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseConnectionMonitor) is required to invoke current api.",
        "operationId" : "getDatabaseSourceNames",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatabaseSourceNameList"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/logins/{id}/username" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "get datasource login username",
        "operationId" : "getDatasourceLoginUserNameById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource login ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceLoginUserName"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/projects" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get a list of projects for a given data source.",
        "description" : "The endpoint returns a list of Projects which are associated with a given Datasource.",
        "operationId" : "getDatasourceProjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DatasourceAssignmentsInfo"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update list of projects associated with a data source.",
        "description" : "Add or remove association between a datasource and projects. Following privilege: [DssXmlPrivilegesConfigureProjectDataSource](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureProjectDataSource) is required to invoke current api.",
        "operationId" : "updateDatasourceProjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDatasourceProjectPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DatasourceAssignmentsInfo"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/jobPriorities" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get job prioritization info for a specific database source",
        "description" : "Get job prioritization information for a specific database source. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the datasource ID using GET /datasources. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "getJobPrioritization",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobPriority"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update job prioritization info for a specific database source",
        "description" : "Update selected job prioritization information for a specific database source. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the database source ID in the path of the request; you obtain the database source ID using GET /datasources. You provide the information needed to update job prioritization of the database source in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "updateJobPrioritization",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsJobPrioritizationPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsJobPrioritizationPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/connections/test" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Test a datasource connection. Either provide a connection id, or the connection parameters.Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "testDatabaseConnectionWithBody",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Datasource connection to test",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ConnectionTestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/{id}/test" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Test connectivity for a datasource. ",
        "description" : "Test connectivity of a datasource.Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "testEmbeddedConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Test connectivity of the embedded connection for a data source after apply a definition update. The updates are not persisted in metadata.",
        "description" : "Test connectivity of the embedded connection for a data source. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "testUpdateEmbeddedConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsEmbeddedConnectionPatchOperationTestInfo"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsEmbeddedConnectionPatchOperationTestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/connections/{id}/test" : {
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Test connectivity of a given datasource connection after applying definition updates. The updates are not persisted in metadata.",
        "description" : "Test connectivity of a datasource connectivity after updates. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "testUpdateDatasourceConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Datasource connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsConnectionPatchOperationTestInfo"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsConnectionPatchOperationTestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConnectionInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/datasources/wallet" : {
      "post" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Upload wallet",
        "description" : "Upload the wallet binary in order to retrieve services list. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You need to provide wallet name and wallet binary in base 64. Following privilege: [DssXmlPrivilegesUseDatabaseInstanceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseInstanceManager) is required to invoke current api.",
        "operationId" : "uploadWallet",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Wallet upload information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WalletUploadInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WalletServicesInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dependentSubscriptions" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List dependent subscriptions of an object",
        "description" : "Get a list of all dependent subscriptions for a given object that the authenticated user has access to. User should have [DssXmlPrivilegesUseScheduleMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScheduleMonitor) or [DssXmlPrivilegesScheduleAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesScheduleAdministration) privilege. This endpoint returns the name, ID, and other information about Subscriptions. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getDependentSubscriptions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "objectId",
          "in" : "query",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Supported object type for dependent subscription",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "user", "dashboard", "report", "schedule", "event", "contact" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DependentSubscriptions"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/prompts/answers" : {
      "put" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Answer specified prompts on the document/dashboard(dossier) instance",
        "description" : "Answer specified prompts on the document/dashboard(dossier) instance, prompts can either be answered with default answers(if available), the appropriate answers, or if the prompt is not required the prompt can simply be closed. If no prompt answers are provided for a particular prompt, it will be closed without answers.",
        "operationId" : "answerPrompts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information for answering prompts",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PromptAnswering"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Create an instance of a document",
        "description" : "Execute a specific document in a specific project and create an instance of the document. The request returns the message ID of the document instance that was created. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You identify the document by specifying the document ID in the path of the request.",
        "operationId" : "createDocumentInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking info for the document",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DocumentCreationBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentInstance"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}" : {
      "delete" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Delete an instance of a document",
        "description" : "Delete an instance of a document. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You identify the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. ",
        "operationId" : "deleteDocumentInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/pdf/results/{resultId}" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get PDF export result",
        "description" : "Get the result of the PDF exporting using export result ID. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances; you get the result ID using POST {id}/instances/{instanceId}/pdf with Prefer respond-async header.",
        "operationId" : "getPdfExportResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resultId",
          "in" : "path",
          "description" : "Result ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Delete a PDF export result of a document",
        "description" : "Delete a PDF export result of a document. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances; you get the result ID using POST {id}/instances/{instanceId}/pdf with Prefer respond-async header.",
        "operationId" : "deleteExportResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resultId",
          "in" : "path",
          "description" : "Result ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/saveAs" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Save a document as a new object",
        "description" : "Save a document instance by creating a new document. A new document object is created in the metadata, with a new object ID. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. You specify the document creation information in the body parameter of the request; you can specify a name and description for the new document and the folder where the new document should be saved. This returns the message ID of the new document instance.",
        "operationId" : "documentSaveAs",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Document creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/DocumentSave"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectId"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/pdf" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Export a document to PDF",
        "description" : "Export a specific document instance to a PDF file. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. The body of the request contains formatting information.",
        "operationId" : "exportDashboardToPdf",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to format the document",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PdfMultipleNodesOptions"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/visualizations/{nodeKey}/csv" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Export a single visualization to CSV",
        "description" : "Export a single visualization from a specific document instance to a CSV (comma-separated values) file. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document, the document instance, and the visualization in the path of the request, by specifying the document ID, the document instance ID, and the key that identifies the visualization; you are using the document/document instance ID that was generated by another API. The body of the request contains formatting information.",
        "operationId" : "exportDocumentToCSV",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeKey",
          "in" : "path",
          "description" : "Visualization node key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to format the visualization",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CsvOptions"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "format" : "byte"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/excel" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Export a document to Excel",
        "description" : "Export a document from a specific document instance to an Excel file. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document, the document instance, and the visualization in the path of the request, by specifying the document ID, the document instance ID, and the key that identifies the visualization; you get the document instance ID using POST /documents/{id}/instances. The body of the request contains formatting information. Both grid and graph are supported for documents; only grid is supported for dashboards(dossiers).",
        "operationId" : "exportDocumentToExcel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to format the visualization",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ExcelOptions"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string",
                    "format" : "byte"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/mstr" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Export a document to .mstr file",
        "description" : "Export a specific document in a specific project to an .mstr file. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you specify the authorization token and the project ID in the request header. You identify the document by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances.",
        "operationId" : "exportDocumentToMSTR",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/visualizations/{nodeKey}/pdf" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Export a single visualization to PDF",
        "description" : "Export a single visualization from a specific document instance to a PDF file. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document, the document instance, and the visualization in the path of the request, by specifying the document ID, the document instance ID, and the key that identifies the visualization; you are using the document/document instance ID that was generated by another API. The body of the request contains formatting information.",
        "operationId" : "exportSingleVisualization",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeKey",
          "in" : "path",
          "description" : "Visualization node key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to format the visualization",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PdfOptions"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentData"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PdfResult"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/cubes" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the cubes used by a document",
        "description" : "Get the cubes used by a document in a specific project, either directly or indirectly. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You identify the document by specifying the document ID in the path of the request.",
        "operationId" : "getCubesUsedByDocument",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/definition" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the hierarchy of a document",
        "description" : "Get the hierarchy of a specific document in a specific project. The request returns the tree structure of the document - root, layouts, current layout, panel stacks, panels, in-canvas selectors,visualization as filter, dataset infos, visualizations and fields. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document by specifying the document ID in the path of the request; you are using the document ID that was generated by another API.",
        "operationId" : "getDocumentDefinition",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentTreeDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/shortcut" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Retrieve a published shortcut for a document",
        "description" : "Retrieve a published shortcut from a specific document instance. Whenever a document is published, a shortcut is created in the target user’s library to that document instance (base object). You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. The response includes information about the shortcut (name, ID and whether the current user owns the shortcut), as well as the document (base object) it targets.",
        "operationId" : "getDocumentInstanceShortcutInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeTOC",
          "in" : "query",
          "description" : "Whether Dossier TOC (Table of Content) information with chapters & Pages should be included",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includePrompted",
          "in" : "query",
          "description" : "Whether prompted property should be included",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includeCurrentBookmark",
          "in" : "query",
          "description" : "Whether Dossier Current Bookmark information should be included",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includeDossierHashes",
          "in" : "query",
          "description" : "Whether the Dashboard(Dossier) version hashes should be included.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentInstanceShortcutTocInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/status" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the status of a document or dashboard(dossier) instance",
        "description" : "Get the status of a document or dashboard(dossier) instance; see [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values. It returns the header X-MSTR-IStatus with the status message, and Retry-After with the suggested retry time in seconds if it is a status that requires polling. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You specify the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances.",
        "operationId" : "getDocumentInstanceStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentInstanceShortcutInfo"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing."
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/prompts/{promptIdentifier}/elements" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get available attribute element for document/dashboard(dossier)'s attribute element prompt",
        "description" : "Get a list of available elements for answering a specific attribute element prompt in a specific document/dossier within a project. The elements are defined in the prompt definition and can be changed in Web/Developer. The elements can be a pre-defined list or search result. Obtain the authorization token needed to execute the request using POST /auth/login. Obtain the project ID using GET /projects. Pass the authorization token and project ID in the request header. Pass the document/dossier ID and prompt identifier, such as the prompt key or ID, in the path of the request. Use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning results. The limit parameter specifies how many results to return. Use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getPromptAvailableAttributeElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptIdentifier",
          "in" : "path",
          "description" : "Prompt key or ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AvailableAnswersForElements"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/prompts/{promptIdentifier}/objects" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get available object for answering all kinds of prompts",
        "description" : "Get a list of available objects for answering a specific prompt in a specific document/dossier in a project. The objects are defined in the prompt definition and can be changed in Web/Developer. The elements can be a pre-defined list or search result. Obtain the authorization token needed to execute the request using POST /auth/login. Obtain the project ID using GET /projects. Pass the authorization token and project ID in the request header. Pass the document/dossier ID and prompt identifier, such as the prompt key or ID, in the path of the request. Use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning results. The limit parameter specifies how many results to return. Use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getPromptAvailableObjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptIdentifier",
          "in" : "path",
          "description" : "Prompt key or ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AvaliableAnswersForObjects"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/prompts" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get collection of prompts on a document/dashboard(dossier)",
        "description" : "Get the collection of prompts and their respective definitions from a document/dashboard(dossier) definition",
        "operationId" : "getPrompts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "closed",
          "in" : "query",
          "description" : "Prompt status, true means get closed prompt, false means get open prompt",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PromptDefinition"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/prompts" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get collection of prompts on a document/dashboard(dossier) instance",
        "description" : "Get the collection of prompts and their respective definitions from a document/dashboard(dossier) instance. This endpoint will return data only when the document/dashboard(dossier) instance has prompt which need to be answered.",
        "operationId" : "getPromptsFromInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "closed",
          "in" : "query",
          "description" : "Prompt status, true means get closed prompt, false means get open prompt",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PromptDefinition"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/queryDetails" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get query details of all grid/graph on a document/dashboard(dossier) instance.",
        "description" : "Get query details of all grid/graph on a document/dashboard(dossier) instance.",
        "operationId" : "getQueryDetailsFromDocumentInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentQueryDetails"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/rePrompt" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Set a document instance back to prompt status",
        "description" : "Set a document instance in a specific project back to prompt status. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. ",
        "operationId" : "rePrompt_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentRepromptResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/refresh" : {
      "put" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Refresh a document instance",
        "description" : "Refresh a current document instance by reapplying manipulations. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. ",
        "operationId" : "refreshDocumentInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Document refresh info",
          "content" : {
            "*/*" : {
              "schema" : {
                "$ref" : "#/components/schemas/DocumentRefresh"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents/{id}/instances/{instanceId}/save" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Save a document as an existing object",
        "description" : "Save a document instance by overwriting an existing document. The existing document object in the metadata is reused, retaining the same object ID. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the document and the document instance by specifying the document ID and the document instance ID in the path of the request; you get the document instance ID using POST /documents/{id}/instances. You specify the document creation information in the body parameter of the request; you can specify a name and description for the new document and the folder where the new document should be saved.",
        "operationId" : "saveDocument",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Document creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/DocumentSave"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectId"
                }
              }
            }
          },
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documents" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get documents in a list format",
        "description" : "Get a list of documents in a specific project that meet specific search criteria. You obtain the authorization token needed to execute the request using POST /auth/login. You identify the project by specifying the project ID in the request header; you obtain the project ID using GET /projects. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, a search searchPattern such as Begins With or Exactly, and the certified status of the dashboard(dossier). You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "searchForRSDs",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "description" : "The value that the search searchPattern is set to. For example, if the search searchPattern is “Begins with”, this parameter would be the value that the search results would begin with; in this example, if this parameter were set to “B”, the search would return all results that begin with “B”. This parameter is used together with the searchPattern parameter.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The kind of search pattern that will be applied to the search. Possible search patterns include “Begins with”, “Begins with phrase”, “Contains”, “Exactly”, “Ends with”, “Contains any word”, and “None”. This parameter is used together with the name parameter.",
          "schema" : {
            "type" : "string",
            "default" : "CONTAINS_ANY_WORD",
            "enum" : [ "NONE", "CONTAINS_ANY_WORD", "BEGINS_WITH", "BEGINS_WITH_PHRASE", "EXACTLY", "CONTAINS", "ENDS_WITH" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "certifiedStatus",
          "in" : "query",
          "description" : "Define a search criteria of the certified status of the object",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentationDefinition" : {
      "post" : {
        "tags" : [ "Documentation Definition" ],
        "summary" : "Create a documentation definition based on documentation definition ID.\n",
        "description" : "Create new set of properties called documentation definition for creation documentations.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou create new documentation definition record on DB with the properties passed in the request body.\n",
        "operationId" : "createDocumentationDefinition",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Documentation definition object containing properties for creating documentation definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DocumentationDefinitionDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationDefinitionCreatedDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Failed to create documentation definition",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentationDefinition/{documentationDefinitionId}" : {
      "delete" : {
        "tags" : [ "Documentation Definition" ],
        "summary" : "Delete documentation definition by documentation definition ID.\n",
        "description" : "Delete documentation definition by documentation definition ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou delete documentation definition record with all associated documentations from DB and Storage Service by documentation definition ID.\n",
        "operationId" : "deleteDocumentationDefinition",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationDefinitionId",
          "in" : "path",
          "description" : "Documentation Definition ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultiStatusResponse"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Documentation Definition" ],
        "summary" : "Update documentation definition by ID\n",
        "description" : "Updating documentation definition record fields by ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are sending a request with list of fields and actions to changing to DB to update documentation definition record. The documentationDefinitionId should be the same as id in each operation in operationList.\n",
        "operationId" : "updateDocumentationDefinition",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationDefinitionId",
          "in" : "path",
          "description" : "Documentation Definition ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Documentation definition patch body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDocumentationDefinitionPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationDefinitionDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentationDefinitions/{documentationDefinitionId}" : {
      "get" : {
        "tags" : [ "Documentation Definition" ],
        "summary" : "Get documentation definition details by documentation definition ID.\n",
        "description" : "Get documentation definition details by documentation definition ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nGet all information about documentation definition with its properties and connected instances of documentation by documentation definition ID.\n",
        "operationId" : "getDocumentationDefinitionById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationDefinitionId",
          "in" : "path",
          "description" : "Documentation Definition ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationDefinitionDetailsDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentationDefinitions" : {
      "get" : {
        "tags" : [ "Documentation Definition" ],
        "summary" : "Get list of documentation definitions with filtering and sorting options.\n",
        "description" : "Get list of documentation definitions with filtering and sorting options.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are sending request to DB to get the list of documentations based on filtering and sorting options.\n",
        "operationId" : "getDocumentationDefinitions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "List of Documentation Definition IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "documentationDefinitionName",
          "in" : "query",
          "description" : "Documentation definition name",
          "schema" : {
            "maxLength" : 250,
            "minLength" : 1,
            "pattern" : "[^<>/\\\\]+",
            "type" : "string"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Specify documentation definition sorting criteria.\n\nExample: +name,-size sorts by name ascending and size descending.\n\nSupported fields: id, name, type, projectName, ownerName, dateCreated, lastRun and size.\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Documentation type",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "PROJECT_DOCUMENTATION" ]
            }
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "List of project IDs.\n\nDocumentation definitions from projects where user lacks Use Project Documentation privilege are automatically excluded.\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "connectedProjectId",
          "in" : "query",
          "description" : "Documentation definitions are returned only for connected projects.\n\nFiltering by project ID automatically excludes documentation definitions associated with unconnected projects.\n\nParameter dedicated to Workstation client.\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "ownerId",
          "in" : "query",
          "description" : "List of Owner IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "dateCreated",
          "in" : "query",
          "description" : "    Date of documentation creation\n\n    It accepts ISO DATETIME ZULU format with milliseconds.\n\n    Ex. \"lt:2025-04-10T02:00:00.000Z\" or \"be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z\"\n\n    Valid operators are :\n\n    `be: ` - \"between\"        example 'be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z'\n    `gt: ` - \"greater than\"   example 'gt:2025-05-10T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-10T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-06-10T02:00:00.000Z'\n\n    If field is left empty filter for created date will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "includeEmbedded",
          "in" : "query",
          "description" : "Determines whether the documentation definition should be included when any of its child documentations match the filter criteria.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "lastRun",
          "in" : "query",
          "description" : "    Date of last run of documentation definition\n\n    It accepts ISO DATETIME ZULU format with milliseconds.\n\n    Ex. \"lt:2025-04-10T02:00:00.000Z\" or \"be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z\"\n\n    Valid operators are :\n\n    `be: ` - \"between\"        example 'be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z'\n    `gt: ` - \"greater than\"   example 'gt:2025-05-10T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-10T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-06-10T02:00:00.000Z'\n\n    If field is left empty filter for last run will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationDefinitionWithTotalDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation" : {
      "get" : {
        "tags" : [ "Documentation" ],
        "summary" : "Get list of documentations with filtering and sorting options.\n",
        "description" : "Get list of documentations with filtering and sorting options.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou send a request to DB to get the list of documentations based on filtering and sorting options.\n",
        "operationId" : "getDocumentations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "List of Documentation IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "documentationName",
          "in" : "query",
          "description" : "Documentation name",
          "schema" : {
            "maxLength" : 250,
            "minLength" : 1,
            "pattern" : "[^<>/\\\\]+",
            "type" : "string"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Specify documentation sorting criteria.\n\nExample: +name,-size sorts by name ascending and size descending.\n\nSupported fields: id, name, type, documentationDefinitionId, status, projectName, ownerName, dateCreated and size.\n",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationDefinitionId",
          "in" : "query",
          "description" : "Documentation Definition ID",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Documentation type",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "PROJECT_DOCUMENTATION" ]
            }
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "List of project IDs.\n\nDocumentations from projects where user lacks Use Project Documentation privilege are automatically excluded.\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "ownerId",
          "in" : "query",
          "description" : "List of Owner IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Documentation status",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "example" : "Running",
              "enum" : [ "Running", "Ready", "Error", "Canceled" ]
            }
          }
        }, {
          "name" : "dateCreated",
          "in" : "query",
          "description" : "    Date of documentation creation\n\n    It accepts ISO DATETIME ZULU format with milliseconds.\n\n    Ex. \"lt:2025-04-10T02:00:00.000Z\" or \"be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z\"\n\n    Valid operators are :\n\n    `be: ` - \"between\"        example 'be:2025-04-10T02:00:00.000Z,2025-04-10T03:00:00.000Z'\n    `gt: ` - \"greater than\"   example 'gt:2025-05-10T02:00:00.000Z'\n    `lt: ` - \"less than\"      example 'lt:2025-04-10T02:00:00.000Z'\n    `eq: ` - \"equal\",         example 'eq:2025-06-10T02:00:00.000Z'\n\n    If field is left empty filter for created date will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
            "type" : "string"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "description" : "    Size of documentation in bytes.\n\n    It accepts positive integer values.\n\n    Ex. \"lt:2000\" or \"be:1000,3333\"\n\n    Valid operators are :\n\n    `be: ` - \"between\"        example 'be:1000,3000'\n    `gt: ` - \"greater than\"   example 'gt:1234'\n    `lt: ` - \"less than\"      example 'lt:9876'\n    `eq: ` - \"equal\",         example 'eq:1111'\n\n    If field is left empty filter for created date will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$|be:[1-9][0-9]*,[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationWithTotalDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Documentation" ],
        "summary" : "Create documentation based on documentation definition ID.\n",
        "description" : "Create documentation based on documentation definition ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nYou must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are creating a new documentation creation job based on a set of properties in the documentation definition and returning the job ID.\n",
        "operationId" : "createDocumentation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Documentation creation body including documentation definition id",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DocumentationCreationDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationCreatedDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation/{documentationId}" : {
      "delete" : {
        "tags" : [ "Documentation" ],
        "summary" : "Delete documentation by documentation ID.\n",
        "description" : "Delete documentation by documentation ID by setting isDeleted flag to 1;\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are sending request to DB to set isDeleted flag to 1 for documentation record by documentation ID.\n",
        "operationId" : "deleteDocumentation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationId",
          "in" : "path",
          "description" : "Documentation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Documentation deletion accepted"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Documentation" ],
        "summary" : "Update documentation by documentation ID.\n",
        "description" : "Update documentation by documentation ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are sending a request with list of fields changing to DB to update documentation record.\n",
        "operationId" : "updateDocumentation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationId",
          "in" : "path",
          "description" : "Documentation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Documentation patch body including documentation definition id",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDocumentationPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation/{documentationId}/{resourceId}" : {
      "get" : {
        "tags" : [ "Documentation" ],
        "summary" : "Get resource file in documentation by resource ID.\n",
        "description" : "Get resource file in documentation by resource ID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou send a request to Storage Service to get the resource file in documentation by resource ID.\n",
        "operationId" : "downloadDocumentationFile",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationId",
          "in" : "path",
          "description" : "Documentation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resourceId",
          "in" : "path",
          "description" : "Resource ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResourceFolder"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation/status" : {
      "get" : {
        "tags" : [ "Documentation" ],
        "summary" : "Get list of job statuses for list of documentations.\n",
        "description" : "Get list of job statuses for list of documentations.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou send a request to get the list of documentations job statuses.\n",
        "operationId" : "getDocumentationStatuses",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationIds",
          "in" : "query",
          "description" : "List of Documentation IDs",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationStatusesDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation/{documentationId}/export" : {
      "get" : {
        "tags" : [ "Documentation" ],
        "summary" : "Export documentation by documentation ID as a downloadable file with selected format.\n",
        "description" : "Export documentation by documentation ID as a downloadable file with selected format.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nThe user must have [DssXmlPrivilegesUseProjectDocumentation] privilege.\n\nYou are sending request to Storage Service to get the exported documentation file grouped in 1 file by documentation ID.\n",
        "operationId" : "getDocumentations_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationId",
          "in" : "path",
          "description" : "Documentation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "exportType",
          "in" : "query",
          "description" : "The format type for exporting documentation.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "json", "csv", "excel" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationFolder"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/documentation/{documentationId}/objects" : {
      "get" : {
        "tags" : [ "Documentation" ],
        "summary" : "Get documentation objects",
        "description" : "Retrieves objects from a documentation by reading its metadata file. Objects can be filtered by name and type, and the results can be sorted and paginated.",
        "operationId" : "getObjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationId",
          "in" : "path",
          "description" : "Documentation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "documentationObjectName",
          "in" : "query",
          "description" : "Documentation Object Name",
          "schema" : {
            "maxLength" : 250,
            "minLength" : 1,
            "type" : "string"
          }
        }, {
          "name" : "objectType",
          "in" : "query",
          "description" : "Object type",
          "schema" : {
            "type" : "string",
            "enum" : [ "Dashboard", "Document", "HTMLDocument", "Hypercard", "MTDICube", "DataMartReport", "IntelligentCube", "Report", "CustomGroup", "Filter", "AutoStyle", "BaseFormula", "Consolidation", "DerivedElement", "DrillMap", "Metric", "Subtotal", "PredictiveMetric", "Prompt", "Search", "Shortcut", "Template", "Attribute", "Fact", "Function", "Hierarchy", "LogicalTable", "MetadataPartitionMapping", "WarehousePartitionMapping", "SecurityFilter", "Transformation", "Folder" ]
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "specify sorting criteria, for example '+name,-size' means sorting name ascending and size descending",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentationObjectsDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{instanceId}/manipulations" : {
      "put" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Apply manipulations to a dossier instance",
        "description" : "Apply manipulations to a dossier instance with an updated filter and selected panels. You need auth token from POST /auth/login, project Id from GET /projects, dashboard(dossier) instance ID generated by POST /dossiers/{dossierId}/instances and filter applied criteria and selected panels in the request body.",
        "operationId" : "applyDossierManipulations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "The ID of the dashboard(dossier)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "The ID of the instance",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/DossierChapterManipulations"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/instances" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Create a dashboard(dossier) in memory based on a list of objects",
        "description" : "Returns the instance id which can be used for subsequent requests",
        "operationId" : "createDossierInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "The previously generated access token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dashboard(Dossier) creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DashboardCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentInstance"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Create an instance of a dashboard(dossier)",
        "description" : "Execute a specific dashboard(dossier) and create an instance of the dashboard(dossier). A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. The request returns the message ID of the dashboard(dossier) instance that was created.  You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier) by specifying the dashboard(dossier) ID in the path of the request. The body parameter in the request contains linking and bookmark information for the dashboard(dossier).You can apply filter criteria in the request body.",
        "operationId" : "createDossierInstance_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking and bookmark info for the dashboard(dossier)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DossierCreationBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierInstance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/draft/instances" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Create a dashboard(dossier) in memory based on existing datasets",
        "description" : "Returns the instance id which can be used for subsequent requests",
        "operationId" : "createDraftDossierInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "The previously generated access token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "In memory draft dashboard(dossier) creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DraftDossierCreationInfo"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DocumentInstance"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{id}/instances/{instanceId}/datasets/sqlView" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the SQL view of datasets on a document/dashboard(dossier) instance",
        "description" : "Get the collection of datasets and their SQL statement from a document/dashboard(dossier) instance.Following privilege: [DssXmlPrivilegesWebReportSQL](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) is required to invoke current api.",
        "operationId" : "getDatasetsSqlViewFromInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Document instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasetsWrapper"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{dossierInstanceId}/elements" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get target attribute elements on dashboard(dossier) based on datasets and filters",
        "description" : "Get target attribute elements on dashboard(dossier) based on datasets and filters",
        "operationId" : "getDossierDatasetFilterElements",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierInstanceId",
          "in" : "path",
          "description" : "Dashboard(Dossier) instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 50000",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 50
          }
        }, {
          "name" : "targetObjectId",
          "in" : "query",
          "description" : "The target object ID to retrieve elements from",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "targetObjectType",
          "in" : "query",
          "description" : "The target object type of target object (attribute, consolidation)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The pattern string used to search the elements of the dashboard(dossier)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchForms",
          "in" : "query",
          "description" : "The forms of target object to filter the elements in the result",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "filterKey",
          "in" : "query",
          "description" : "The key of filter in which the target object is",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{instanceId}/queryDetails" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the query details of grid/graph visualizations in the dashboard(dossier).",
        "description" : "Get the query details of a visualization in a specific dashboard(dossier) in a specific project. A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier), the dashboard(dossier) instance, the dashboard(dossier) chapter, and the dashboard(dossier) visualization in the path of the request, by specifying the IDs of the dashboard(dossier) and dashboard(dossier) instance and the keys of the chapter and visualization. You are using the document/dashboard(dossier) ID that was generated by another API. You obtain the dashboard(dossier) instance ID using POST /dossiers/{dossierId}/instances. You obtain the dashboard(dossier) chapter key and the dashboard(dossier) visualization key using GET /api/v2/dossiers/{dossierId}/definition. It is important to note that the chapter and page active in this instance is possible to be changed. Following privilege: [DssXmlPrivilegesWebReportSQL](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) is required to invoke current api.",
        "operationId" : "getQueryDetailsFromDossierInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Dashboard(Dossier) instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chapterKey",
          "in" : "query",
          "description" : "Chapter key",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visualizationKey",
          "in" : "query",
          "description" : "Visualization key",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierQueryDetails"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/definition" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the hierarchy of a dashboard(dossier)",
        "description" : "Get the hierarchy of a specific dashboard(dossier) in a specific project. A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. This request returns the tree structure of the dashboard(dossier) – root, chapters, pages/chapter-level selectors, and visualizations. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier) by specifying the dashboard(dossier) ID in the path of the request; you are using the document/dashboard(dossier) ID that was generated by another API.",
        "operationId" : "getVisualizationList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierTreeDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{instanceId}/chapters/{chapterKey}/visualizations/{visualizationKey}" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the definition and data result of a grid/graph visualization",
        "description" : "Get the definition and data result of a grid/graph visualization in a specific dashboard(dossier) in a specific project. A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier), the dashboard(dossier) instance, the dashboard(dossier) chapter, and the dashboard(dossier) visualization in the path of the request, by specifying the IDs of the dashboard(dossier) and dashboard(dossier) instance and the keys of the chapter and visualization.  You are using the document/dashboard(dossier) ID that was generated by another API. You obtain the dashboard(dossier) instance ID using POST /dossiers/{dossierId}/instances. You obtain the dashboard(dossier) chapter key and the dashboard(dossier) visualization key using GET /dossiers/{dossierId}/definition.  It is important to note that concurrent behavior on one dashboard(dossier) instance ID is not currently supported; instead, you can create multi-instance IDs to perform concurrent behavior.",
        "operationId" : "getVisualizationResult_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Dashboard(Dossier) instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chapterKey",
          "in" : "path",
          "description" : "Chapter key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visualizationKey",
          "in" : "path",
          "description" : "Visualization key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Visualization"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get dashboards(dossiers) in a list format",
        "description" : "Get a list of dashboards(dossiers) in a specific project that meet specific search criteria. You obtain the authorization token needed to execute the request using POST /auth/login. You identify the project by specifying the project ID in the request header; you obtain the project ID using GET /projects. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, a search searchPattern such as Begins With or Exactly, and the certified status of the dashboard(dossier). You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "searchForDossiers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "description" : "The value that the search searchPattern is set to. For example, if the search searchPattern is “Begins with”, this parameter would be the value that the search results would begin with; in this example, if this parameter were set to “B”, the search would return all results that begin with “B”. This parameter is used together with the searchPattern parameter.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "template",
          "in" : "query",
          "description" : "Search for dashboard(dossier) templates only",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "visibility",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "string",
            "default" : "VISIBLE_AND_HIDDEN",
            "enum" : [ "DEFAULT", "VISIBLE_ONLY", "HIDDEN_ONLY", "VISIBLE_AND_HIDDEN" ]
          }
        }, {
          "name" : "getAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each dashboard(dossier)",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The kind of search pattern that will be applied to the search. Possible search patterns include “Begins with”, “Begins with phrase”, “Contains”, “Exactly”, “Ends with”, “Contains any word”, and “None”. This parameter is used together with the name parameter.",
          "schema" : {
            "type" : "string",
            "default" : "CONTAINS_ANY_WORD",
            "enum" : [ "NONE", "CONTAINS_ANY_WORD", "BEGINS_WITH", "BEGINS_WITH_PHRASE", "EXACTLY", "CONTAINS", "ENDS_WITH" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "certifiedStatus",
          "in" : "query",
          "description" : "Define a search criteria of the certified status of the object",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{instanceId}/filters" : {
      "put" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Apply and execute the filters on a dashboard(dossier) instance",
        "description" : "Execute a specific dashboard(dossier) instance with an updated filter definition. It updates the instance of the dashboard(dossier) with the new filter definition applied. You need auth token from POST /auth/login, project Id from GET /projects, dashboard(dossier) instance ID generated by POST /dossiers/{dossierId}/instances and filter applied criteria in the request body.",
        "operationId" : "setFilters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "The ID of the dashboard(dossier)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "The ID of the instance",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ignoreMissingFilter",
          "in" : "query",
          "description" : "The ignoreMissingFilter controls the selector matches no found behavior, if true and no selector matches are found, then this filter input will NOT be applied and will be ignored, if false and no found, then the request will fail.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "targetChapterKey",
          "in" : "query",
          "description" : "The target chapter key to switch to.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionMode",
          "in" : "query",
          "description" : "The dashboard execution mode when apply filter, Optional.\n            Allowed values are case-insensitive. Only DATA or DESIGN are honored.\n            When omitted, value is null.",
          "schema" : {
            "type" : "string",
            "nullable" : true,
            "enum" : [ "DATA", "DESIGN" ]
          }
        }, {
          "name" : "parallelRenderingAfterManipulation",
          "in" : "query",
          "description" : "This parameter defines whether we should allow parallel rendering after the particular manipulation",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/FilterInfo"
                }
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dossiers/{dossierId}/instances/{instanceId}/datasets" : {
      "patch" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Change the datasets on a dashboard(dossier) instance",
        "description" : "Change the datasets of a specific dashboard(dossier) instance with different patch operations, including adding datasets. You need auth token from POST /auth/login, project Id from GET /projects, dashboard(dossier) instance ID generated by POST /dossiers/{dossierId}/instances and filter applied criteria in the request body.",
        "operationId" : "updateDossierInstanceDatasets",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "The ID of the dashboard(dossier)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "The ID of the instance",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDatasetPatchOperation"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/drivers/{id}" : {
      "get" : {
        "tags" : [ "Drivers" ],
        "summary" : "Retrieve a driver's definition",
        "description" : "Retrieved definition of a particular driver based on the provided driver id. You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header.",
        "operationId" : "getDriverById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Driver ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DriverInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Drivers" ],
        "summary" : "Update a driver's definition",
        "description" : "Update definition of a particular driver based on the provided driver id. Currently, we only support to update a driver's \"enabled\" status. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "patchDriverById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Driver ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Operation to be performed on drivers",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsDriverPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DriverInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/drivers" : {
      "get" : {
        "tags" : [ "Drivers" ],
        "summary" : "Retrieve all drivers' definitions",
        "description" : "Retrieve all drivers' definition. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getDrivers_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeDatasource",
          "in" : "query",
          "description" : "Whether to return the data sources using this driver",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DriverWithDataSourcesMap"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dynamicRecipientLists" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List dynamic recipient lists",
        "description" : "Get a list of all dynamic recipient lists that the authenticated user has access to. This endpoint returns the name, ID, source report ID, project ID and other information about dynamic recipient lists. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "listDynamicRecipientLists",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DynamicRecipientLists"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Create dynamic recipient list",
        "description" : "Create a new dynamic recipient list. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a dynamic recipient list in the body parameter of the request. Following privileges: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) and [DssXmlPrivilegesWebCreateDynamicAddressList](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebCreateDynamicAddressList) are required to invoke current api.",
        "operationId" : "createDynamicRecipientList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dynamic Recipient List settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DynamicRecipientList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DynamicRecipientList"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dynamicRecipientLists/{id}" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get dynamic recipient list by ID",
        "description" : "Get information of a specific dynamic recipient list by its ID. This endpoint returns the name, ID, linked user, source report ID, project ID and other information about the given dynamic recipient list. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the dynamic recipient list ID using GET /dynamicRecipientLists. You pass the dynamic recipient list ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "getDynamicRecipientListById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Dynamic Recipient List ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DynamicRecipientList"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Update dynamic recipient list",
        "description" : "Update a specific dynamic recipient list by its ID. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the dynamic recipient list by specifying the dynamic recipient list ID in the path of the request; you obtain the dynamic recipient list ID using GET /dynamicRecipientLists. You provide the information used to update the dynamic recipient list in the body parameter of the request. Following privileges: [DssXmlPrivilegesConfigureContactDataProfile](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureContactDataProfile) and [DssXmlPrivilegesWebCreateDynamicAddressList](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebCreateDynamicAddressList) are required to invoke current api.",
        "operationId" : "updateDynamicRecipientList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Dynamic Recipient List ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dynamic Recipient List settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DynamicRecipientList"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DynamicRecipientList"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Delete dynamic recipient list by ID",
        "description" : "Delete a specific dynamic recipient list by its ID. This endpoint deletes information about the given dynamic recipient list. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the dynamic recipient list ID using GET /dynamicRecipientLists. You pass the dynamic recipient list ID in the path of the request. Following privilege: [DssXmlPrivilegesUseContactManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseContactManager) is required to invoke current api.",
        "operationId" : "removeDynamicRecipientList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Dynamic Recipient List ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/emails" : {
      "post" : {
        "tags" : [ "Emails" ],
        "summary" : "Send an email",
        "description" : "Send an email to specified recipients. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. In the body parameter of the request, you specify the recipients of the email, the content of the subject line, the content of the message body, whether the content is HTML, and any extra properties. ",
        "operationId" : "sendEmails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Email info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EmailCreator"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/events" : {
      "get" : {
        "tags" : [ "Events" ],
        "summary" : "List events",
        "description" : "Get a list of all events that the authenticated user has access to. This endpoint returns the name, ID, and other information about events. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listEvents",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Events"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Events" ],
        "summary" : "Create event",
        "description" : "Create a new event. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create an event in the body parameter of the request. ",
        "operationId" : "createEvent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Event settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Event"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Event"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/events/{id}" : {
      "get" : {
        "tags" : [ "Events" ],
        "summary" : "Get event by ID",
        "description" : "Get information of a specific event by its ID. This endpoint returns the name, ID, and other information about the given event. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the event ID using GET /events. You pass the event ID in the path of the request. ",
        "operationId" : "getEventById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Event ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Event"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Events" ],
        "summary" : "Update event",
        "description" : "Update all of the information for a specific event. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the event ID using GET /events. You pass the event ID in the path of the request. You provide the information used to update the specific event in the body parameter of the request.",
        "operationId" : "updateEvent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Event ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Event settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Event"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Event"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Events" ],
        "summary" : "Delete event by ID",
        "description" : "Delete event by its id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the event ID using GET /events. You delete the event by passing the event ID in the path of the request. ",
        "operationId" : "removeEvent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Event ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/events/{id}/trigger" : {
      "post" : {
        "tags" : [ "Events" ],
        "summary" : "Trigger an event by ID",
        "description" : "Trigger a specific event by its ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the event ID using GET /events. You pass the event ID in the path of the request. ",
        "operationId" : "triggerEvent",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Event ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/excelTemplates" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List Excel Templates",
        "description" : "Get a list of all excel templates that the authenticated user has access to. This endpoint returns the name, ID, and other information about excel templates. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listExcelTemplates",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeHidden",
          "in" : "query",
          "description" : "Include hidden objects",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExcelTemplates"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Create excel template",
        "description" : "Create a new excel template. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create an excel template in the request body. ",
        "operationId" : "createExcelTemplate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "description" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExcelTemplate"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/excelTemplates/{id}" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get excel template by ID",
        "description" : "Get information of a specific excel template by its ID. This endpoint returns the name, ID, and other information about the given excel template. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the excel template ID using GET /excelTemplates. You pass the excel template ID in the path of the request. ",
        "operationId" : "getExcelTemplateById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Excel template ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sheets",
          "in" : "query",
          "description" : "The sheets of the Excel template",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExcelTemplate"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Update excel template",
        "description" : "Update all of the information for a specific excel template. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the excel template ID using GET /excelTemplates. You pass the excel template ID in the path of the request. You provide the information used to update the specific excel template in the body parameter of the request.",
        "operationId" : "updateExcelTemplate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Excel template ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "description" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExcelTemplate"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Remove excel template by ID",
        "description" : "Remove excel template by its ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the excel template ID using GET /excelTemplates. You remove the excel template by passing the excel template ID in the path of the request. ",
        "operationId" : "removeExcelTemplate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Excel template ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Partially update an excel template",
        "description" : "Update part of the information for a specific excel template. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the excel template ID using GET /excelTemplates. You pass the excel template ID in the path of the request. You provide the information used to update the specific excel template in the body parameter of the request.",
        "operationId" : "patchExcelTemplate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Excel template ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Excel template settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ExcelTemplate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExcelTemplate"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/folders" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get a list of folders",
        "description" : "Get a list of folders - either all folders in a specific project or all folders that are outside of projects, called configuration-level folders. The list of configuration-level folders includes folders such as users, user groups, databases, etc. which are not project-specific. If you pass a project ID, you get folders in that project; if you do not pass a project ID, you get configuration-level folders. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return. ",
        "operationId" : "getRootFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Create a folder",
        "description" : "Create a new folder in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the contents of the new folder in the body parameter of the request, including the name of the folder, the  parent folder, and an optional description of the folder.",
        "operationId" : "createFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Folder creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FolderCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/folders/{id}" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get contents of a folder",
        "description" : "Get the contents of a specific folder in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You obtain the folder ID using GET /folders; you pass the folder ID in the request path. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return. ",
        "operationId" : "getFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Folder ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int64",
            "default" : -1
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Filter the folder contents based on the types of objects. If this parameter is passed, only objects of the type(s) specified will be included in the result. If not passed, no filtering is applied. You may specify multiple values as a comma separated list. Possible values are defined in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeUnsupportedReportsInLibrary",
          "in" : "query",
          "description" : "Filter out report type that is not supported in library.",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "excludedTypes",
          "in" : "query",
          "description" : "Filter out objects with specific types",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hidden",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Browsing" ],
        "summary" : "Delete complete folder",
        "description" : "Delete folder for specific folder id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the folder by specifying the folder ID in the path of the request;you obtain the folder ID using GET /folders. ",
        "operationId" : "deleteFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Folder ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/api/folders/myPersonalObjects" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get contents of My Personal Objects folder",
        "description" : "Get the contents of My Personal Objects folder in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "getPersonalFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/folders/preDefined/{folderType}" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get contents of a pre-defined folder",
        "description" : "Get the contents of a specific pre-defined MicroStrategy folder in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the folder type in the path of the request, using a value from [EnumDSSXMLFolderNames](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFolderNames.html). You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "getPreDefinedFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "folderType",
          "in" : "path",
          "description" : "Pre-defined folder type, from [EnumDSSXMLFolderNames](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFolderNames.html)",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/folders/preDefined" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get pre-defined folders",
        "description" : "Get specific pre-defined MicroStrategy folders in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the folder type(s) with the folderType query parameter, using values from [EnumDSSXMLFolderNames](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFolderNames.html).",
        "operationId" : "getPreDefinedFolders",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "folderType",
          "in" : "query",
          "description" : "Pre-defined folder type(s), from [EnumDSSXMLFolderNames](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFolderNames.html). You may specify multiple folder types as a comma separated list.",
          "required" : true,
          "schema" : {
            "type" : "string"
          },
          "example" : "7,20"
        }, {
          "name" : "includeAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each folder",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "showNavigationPath",
          "in" : "query",
          "description" : "Specifies whether to return the folder navigation path instead of the physical path. The navigation path is only supported for \"Shared Reports\" (folderType=7) and \"My Reports\" (folderType=20). This parameter is only applicable if includeAncestors=true.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PreDefinedFoldersResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/folders/{id}/scopeFilters" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get the scope filters that apply to this folder.",
        "description" : "Get the scope filters that apply to this folder.",
        "operationId" : "getScopeFiltersByFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Folder ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScopeFilterListDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/gateways/{id}" : {
      "get" : {
        "tags" : [ "Gateways" ],
        "summary" : "Retrieve a gateway's definition",
        "description" : "Retrieved definition of a particular gateway based on the provided gateway id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getGatewayById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Gateway ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GatewayInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/gateways" : {
      "get" : {
        "tags" : [ "Gateways" ],
        "summary" : "Retrieve all gateways' definitions",
        "description" : "Retrieve all gateways' definitions. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "getGateways",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GatewayInfoMap"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/{gitIntegrationId}/backup" : {
      "post" : {
        "tags" : [ "Git Service" ],
        "summary" : "Backup objects to git repository",
        "description" : "Backup objects to git repository linked to a git integration",
        "operationId" : "backupObjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gitIntegrationId",
          "in" : "path",
          "description" : "Git integration ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectsBackupRequestDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsBackupResponseDto"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsBackupResponseDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/{gitIntegrationId}/history/retrieve" : {
      "post" : {
        "tags" : [ "Git Service" ],
        "summary" : "Retrieve git commit history of objects",
        "description" : "Retrieve git commit history of objects linked to a git repository",
        "operationId" : "getObjectsHistory",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gitIntegrationId",
          "in" : "path",
          "description" : "Git integration ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectsHistoryRequestDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsHistoryResponseDto"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsHistoryResponseDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/git/{gitIntegrationId}/restore" : {
      "post" : {
        "tags" : [ "Git Service" ],
        "summary" : "Restore objects from git repository",
        "description" : "Restore objects from git repository linked to a git integration",
        "operationId" : "restoreObjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Operation ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "gitIntegrationId",
          "in" : "path",
          "description" : "Git integration ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectsRestoreRequestDto"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsRestoreResponseDto"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsRestoreResponseDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/hierarchies/{hierarchyId}/attributes" : {
      "get" : {
        "tags" : [ "Hierarchies" ],
        "summary" : "Get attributes in a hierarchy",
        "description" : "Get attributes in a hierarchy",
        "operationId" : "getHierarchyAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hierarchyId",
          "in" : "path",
          "description" : "Hierarchy ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "displayForms",
          "in" : "query",
          "description" : "Display form type of hierarchy prompt",
          "schema" : {
            "type" : "string",
            "default" : "all",
            "enum" : [ "all", "browseForms", "reportDisplayForms", "customForms", "unknown" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HierarchyAttributes"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/historyList" : {
      "get" : {
        "tags" : [ "History List" ],
        "summary" : "Get history list",
        "description" : "Get messages from history list",
        "operationId" : "getHistoryList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "History list retrieval scope, single_user or all_users",
          "schema" : {
            "type" : "string",
            "enum" : [ "single_user", "all_users", "single_library_user" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InboxMessage"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "History List" ],
        "summary" : "Send a report, a document or a dashboard(dossier) to history list",
        "description" : "Send a report, a document or a dashboard(dossier) to history list",
        "operationId" : "sendToHistoryList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object type",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SendToHistoryListInfo"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MessageInstance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/historyList/{messageId}" : {
      "get" : {
        "tags" : [ "History List" ],
        "summary" : "Get history list message",
        "description" : "Get details of a message specified by message id from history list",
        "operationId" : "getHistoryListMessage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "objectType",
          "in" : "query",
          "description" : "Object type",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "History list retrieval scope, single_user or all_users",
          "schema" : {
            "type" : "string",
            "enum" : [ "single_user", "all_users", "single_library_user" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InboxMessageDetails"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "History List" ],
        "summary" : "Remove a message from history list",
        "description" : "Remove a message from history list",
        "operationId" : "removeFromHistoryList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "removeOthersMessage",
          "in" : "query",
          "description" : "Admin user removes message, possibly for other users",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "History List" ],
        "summary" : "Update history list message",
        "description" : "Update the display name specified by message id from history list",
        "operationId" : "updateHistoryListMessage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/images" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List image",
        "description" : "Get a list of all images that the authenticated user has access to. This endpoint returns the name, ID, and other information about images. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listImages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeHidden",
          "in" : "query",
          "description" : "Include hidden objects",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Images"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Create image",
        "description" : "Create a new image. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create an image in the request body. ",
        "operationId" : "createImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "description" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Image"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/images/{id}" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get image by ID",
        "description" : "Get information of a specific image by its ID. This endpoint returns the name, ID, and other information about the given image. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the image ID using GET /images. You pass the image ID in the path of the request. ",
        "operationId" : "getImageById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Image"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Update image",
        "description" : "Update all of the information for a specific image. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the image ID using GET /images. You pass the image ID in the path of the request. You provide the information used to update the specific image in the body parameter of the request.",
        "operationId" : "updateImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "description" : {
                    "type" : "string",
                    "format" : "string"
                  },
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Image"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Remove image by ID",
        "description" : "Remove image by its ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the image ID using GET /images. You remove the image by passing the image ID in the path of the request. ",
        "operationId" : "removeImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Partially update an image",
        "description" : "Update part of the information for a specific image. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the image ID using GET /images. You pass the image ID in the path of the request. You provide the information used to update the specific image in the body parameter of the request.",
        "operationId" : "patchImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Image settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Image"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Image"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/incrementalRefresh/{irrId}/instances/{instanceId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the status of an incremental refresh report instance.",
        "description" : "Get the status of an incremental refresh report instance; see [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values. It returns the body fields 'id', 'status', and 'instanceId'.\nYou obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You specify the incremental refresh report ID and the instance ID in the path of the request. Following privilege: [DssXmlPrivilegesExecuteCubeReport](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesExecuteCubeReport) is required to invoke current api.",
        "operationId" : "getInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "irrId",
          "in" : "path",
          "description" : "Incremental refresh report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IncrementalRefreshReport"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IncrementalRefreshReport"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Cubes" ],
        "summary" : "Delete an incremental refresh report instance.",
        "description" : "Delete an incremental refresh report instance from the working set. This will remove the instance from the user's working set but will not affect other users' instances of the same report. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You specify the incremental refresh report ID and the instance ID in the path of the request. Following privilege: [DssXmlPrivilegesExecuteCubeReport](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesExecuteCubeReport) is required to invoke current api.",
        "operationId" : "deleteInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "irrId",
          "in" : "path",
          "description" : "Incremental refresh report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/incrementalRefresh/{irrId}" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Execute an incremental refresh report",
        "description" : "Execute an incremental refresh report to update the corresponding cube. \nYou obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the incremental refresh report ID in the path of the request; Following privilege: [DssXmlPrivilegesExecuteCubeReport](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesExecuteCubeReport) is required to invoke current api.",
        "operationId" : "executeIrr",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "irrId",
          "in" : "path",
          "description" : "Incremental refresh report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "The execution stage the report is executed to. Available values: resolve_prompts, execute_data.",
          "schema" : {
            "type" : "string",
            "default" : "execute_data"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/incrementalRefresh/{irrId}/instances/{instanceId}/data" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the data of a previously created incremental refresh report instance (for preview purpose)",
        "description" : "Get the normalized JSON structure results supporting cross-tab of the specified incremental refresh report instance. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the incremental refresh report ID and instance ID in the path of the request. Following privilege: [DssXmlPrivilegesExecuteCubeReport](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesExecuteCubeReport) is required to invoke current api.",
        "operationId" : "getIrrPreviewData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "irrId",
          "in" : "path",
          "description" : "Incremental refresh report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK, with result in response body of JSON data V2 format"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Request the preview data of a specified incremental refresh report instance (for preview purpose)",
        "description" : "Request the preview data of a previously created incremental refresh report instance. \nYou obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the incremental refresh report ID and instance ID in the path of the request.Following privilege: [DssXmlPrivilegesExecuteCubeReport](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesExecuteCubeReport) is required to invoke current api.",
        "operationId" : "requestIrrPreviewData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "irrId",
          "in" : "path",
          "description" : "Incremental refresh report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/interfaceLanguages" : {
      "get" : {
        "tags" : [ "Languages" ],
        "summary" : "Get the list of interface language objects",
        "description" : "Get the list of interface language object and their details. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getAvailableInterfaceLanguages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InterfaceLanguages"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/clusterStartupMembership" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get IServer cluster startup membership information",
        "description" : "Get a list of I-Server hostnames which are part of cluster startup membership configuration. There is also a corresponding PUT endpoint to alter the list.",
        "operationId" : "getClusterStartupMembership",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClusterStartupMembershipInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "x-microstrategy" : {
          "visibility" : "public"
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Updates IServer cluster startup membership configuration",
        "description" : "This endpoint allows to add or remove I-Server nodes from a cluster startup membership list. It is not allowed to update the cluster startup membership with an empty list.",
        "operationId" : "updateClusterStartupMembership",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Cluster Startup Configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ClusterStartupMembershipInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClusterStartupMembershipInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "x-microstrategy" : {
          "visibility" : "public"
        }
      }
    },
    "/api/iserver/logging/config" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the iServer diagnostic and performance config settings for current instance",
        "description" : "Get the iServer diagnostic and performance config settings for current instance. Following privilege: [DssXmlPrivilegesMonitorEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorEnvironment) is required to invoke current api.",
        "operationId" : "getIserverConfigLogs",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerLogSetting"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the iServer diagnostic and performance config settings for current instance",
        "description" : "Update the iServer diagnostic and performance config settings for current instance. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateIserverConfigLogs",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Data gateway connection request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/IServerLogInstanceSetting"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerLogSetting"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/logging/destinations" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the log destinations of IServer",
        "description" : "Get the log destinations of IServer. Following privilege: [DssXmlPrivilegesMonitorEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorEnvironment) is required to invoke current api.",
        "operationId" : "getIserverLogDestinations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerLogDestinations"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the log destinations of IServer",
        "description" : "Update the log destinations of IServer. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateIserverLogDestinations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Data gateway connection request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerLogDestinations"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerLogDestinations"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/queues/{id}" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Query the status of submitted task in the task queue on IServer.",
        "description" : "Query the status of submitted task in the task queue on IServer. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Usually, this API is used to query the status of the submitted task by POST /metadata/commands.",
        "operationId" : "getJobQueueProxyApi",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the job",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/machineInformation" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get Machine Information",
        "description" : "Get machine information where the IServer is deployed. This endpoint returns the timezone used by IServer You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "getServerInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerMachineInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/privileges" : {
      "get" : {
        "tags" : [ "Security Roles", "System Administration" ],
        "summary" : "Get all privileges",
        "description" : "Get the set of available privileges for the platform.",
        "operationId" : "getServerPrivilege",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PrivilegeInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/privileges/categories" : {
      "get" : {
        "tags" : [ "Security Roles", "System Administration" ],
        "summary" : "Get all privilege categories",
        "description" : "Get the set of available privilege categories for the platform.",
        "operationId" : "getServerPrivilegeCategories",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PrivilegeCategories"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/baseLanguages" : {
      "get" : {
        "tags" : [ "Languages", "System Administration" ],
        "summary" : "Returns a list of base languages",
        "description" : "Returns a list of base languages supported by iServer and available for use as a foundation for creating languages using POST /languages",
        "operationId" : "getSupportedLanguages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerBaseLanguages"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/telemetryProducer" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get telemetry producer settings for all accessible projects in the environment.\n",
        "description" : "Get telemetry producer settings for all accessible projects in the environment.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "getTelemetryProducerDataForAllAccessibleProjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelemetryProducersSettingsDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/telemetryProducer/{projectId}" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get telemetry producer settings for a specific project by its ID.\n",
        "description" : "Get telemetry producer settings for a specific project by its ID.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "getTelemetryProducerDataForSingleProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelemetryProducerSettingsDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update telemetry producer settings for a specific project by its ID.\n",
        "description" : "Update telemetry producer settings for a specific project by its ID.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "updateTelemetryProducerDataForSingleProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TelemetryProducerSettingsDTO"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TelemetryProducerSettingsDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/lock" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Query the state of the lock on the Configuration",
        "description" : "This API provides the administrators the ability to query the lock information of the Configuration of the Environment. You obtain the authorization token needed to execute the request using POST /auth/login and you pass the authentication token in the request header. If the configuration is not locked, the lockType in the response is \"not_locked\". The detailed information of the lock is also in the response. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the configuration object. \"constituent\" means that it locks the configuration object and all the objects in the configuration project.",
        "operationId" : "queryConfigurationLock",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectLockInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Lock the Configuration",
        "description" : "This API provides the administrators the ability to lock the Configuration of the Environment. You obtain the authorization token needed to execute the request using POST /auth/login and you pass the authentication token in the request header. You should assign the lockId and lockType in the request body. The lockId should be a non-empty string which only contains ascii printable characters and whose length is no more than 250. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the configuration object. \"constituent\" means that it locks the configuration object and all the objects in the configuration project.",
        "operationId" : "lockProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Lock type and lock ID",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LockRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Unlock the Configuration",
        "description" : "This API provides the administrators the ability to unlock the Configuration of the Environment. You obtain the authorization token needed to execute the request using POST /auth/login and you pass the authentication token in the request header. You obtain the lock information (lockType and lockId) using GET /iserver/lock. If the value of the query parameter \"force\" is false, the parameter \"lockId\" should be the same with the current lock. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the configuration object. \"constituent\" means that it locks the configuration object and all the objects in the configuration project.",
        "operationId" : "unlockConfiguration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "lockType",
          "in" : "query",
          "description" : "The type of the lock to unlock",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "force",
          "in" : "query",
          "description" : "Whether to force unlock the lock",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "lockId",
          "in" : "query",
          "description" : "The Id of the lock to unlock when not force unlock",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectLockInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/metadata/commands" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Submit a command to manipulate metadata on IServer.",
        "description" : "Submit a command to manipulate metadata on IServer by command ID. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. After executing this endpoint, you need to call GET /queues/{id} to get the submitted task's status.",
        "operationId" : "postMetadataCommandProxyApi",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "commandId",
          "in" : "query",
          "description" : "IServer metadata command ID.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "string"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/languages" : {
      "get" : {
        "tags" : [ "Languages" ],
        "summary" : "Returns a list of language objects",
        "description" : "Returns a list of language object and their details.",
        "operationId" : "getAvailableLanguages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hidden",
          "in" : "query",
          "description" : "Include hidden objects",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "isLanguageSupported",
          "in" : "query",
          "description" : "Indicates if the language is derived from a list of supported languages",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "acl",
          "in" : "query",
          "description" : "Access control list filter",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "browse", "read", "write", "delete", "control", "use", "execute" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LanguageList"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Languages" ],
        "summary" : "Creates a new language object",
        "description" : "Creates a new language object based on a base language with a new name. Following privilege: [DssXmlPrivilegesCreateConfigObj](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCreateConfigObj) is required to invoke current api.",
        "operationId" : "createLanguage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Language",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateLanguage"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Language"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/languages/baseLocaleDefaultFormats/{lcid}" : {
      "get" : {
        "tags" : [ "Languages" ],
        "summary" : "Get base locale default formatting settings",
        "description" : "Returns the base locale formatting configuration",
        "operationId" : "getBaseLocaleDefaultFormats",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "lcid",
          "in" : "path",
          "description" : "Locale ID",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BaseLocaleFormatsInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/languages/{id}/formattingSettings" : {
      "get" : {
        "tags" : [ "Languages" ],
        "summary" : "Get formatting settings for specific Language",
        "description" : "Retrieves the formatting settings for a Language based on the Language ID",
        "operationId" : "getFormattingSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Language ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FormattingSettingsInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Languages" ],
        "summary" : "Update formatting settings for specific Language",
        "description" : "Update formatting settings for specific Language. You provide the request body as of list of replace operations to be performed on the value of array of nodes with the path URI containing the corresponding project id that needs to be updated.",
        "operationId" : "updateFormattingSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Language ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Formatting settings to be updated",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsFormattingSettingsPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FormattingSettingsInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/languages/{id}" : {
      "get" : {
        "tags" : [ "Languages" ],
        "summary" : "Returns details for a specific language object",
        "description" : "Returns details for a specific language object",
        "operationId" : "getLanguageDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Language Id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Language"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Languages" ],
        "summary" : "Update a language object",
        "description" : "Update langauge object name",
        "operationId" : "updateLanguage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "language id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsLanguagePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Language"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/ldap/configuration" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get LDAP configuration",
        "description" : "Get the existing LDAP configuration from the Intelligence Server metadata. You may update and save it back later based on the existing configuration. From 2020 update 2, LDAP attributes will be excluded from the response body, so please use the API of GET 'iserver/ldap/attributes' to retrieve LDAP attributes. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "getConfig",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapGeneralDef"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Create LDAP configuration",
        "description" : "Create a new LDAP configuration and save it to the Intelligence Server. There is only one LDAP configuration in Intelligence Server metadata, so this operation will replace the old configuration if exists. The request body should include all configuration fields. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "createConfig",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to create LDAP ldapSettings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LdapPostDef"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapDef"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Delete LDAP configuration",
        "description" : "Delete the existing LDAP configuration from Intelligence Server metadata.Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "deleteConfig",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update an existing LDAP configuration",
        "description" : "Update the existing LDAP configuration and save it to the Intelligence Server. There is only one LDAP configuration in Intelligence Server metadata, so this operation will replace the old configuration. The request body should only contain fields that will be updated.Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "updateConfig",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information used to update LDAP ldapSettings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LdapPostDef"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LdapPostDef"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapDef"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/ldap/certificate" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get LDAP server certificate info",
        "description" : "Get LDAP server certificate info. The communication between the Intelligence Server and LDAP server can be encrypted by SSL (optional). This API will return basic information about the LDAP server certificate. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "getCertificateInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapCertInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Upload LDAP server certificate for encrypted communication",
        "description" : "Upload LDAP server certificate for encrypted communication. The communication between the Intelligence Server and the LDAP server can be encrypted by SSL (optional). The certificate uploaded in this API will be added to the trust store of the Intelligence Server, and later used for the SSL communication between the Intelligence Server and the LDAP server. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "uploadCertificate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information for LDAP server certificate",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LdapCertDef"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Delete LDAP certificate",
        "description" : "This method deletes the previously uploaded LDAP certificate. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "delCertificate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/ldap/attributes" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get LDAP attributes",
        "description" : "Get LDAP attributes list. You may want to import more attributes for users. The API will provide you the list of available LDAP attributes, from which you may choose some extra attributes to import. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "getAttributeNames",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapAttributes"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/ldap/authuserbinds" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Verify LDAP user binding",
        "description" : "Verify the LDAP username and password binding. Following privilege: [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) is required to invoke current api.",
        "operationId" : "getAuthUserBinds",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/ldap/import" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get LDAP batch import status",
        "description" : "Get LDAP batch import status. You can get the progress of LDAP batch import, including its status (e.g. failed, stopped, undergoing, and canceled). If there is LDAP batch import undergoing, you can also get the number of users and groups which have already been imported. Following privileges: [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) and [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) are required to invoke current api.",
        "operationId" : "getBatchImportProgress",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LdapBatchImportDef"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Stop LDAP batch import",
        "description" : "Stop the LDAP batch import if it exists. This operation will be ignored if there is no undergoing LDAP batch import. Following privilege: [DssXmlPrivilegesLinkToExternalAccounts](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesLinkToExternalAccounts) is required to invoke current api.",
        "operationId" : "stopBatchImport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Do LDAP batch import now",
        "description" : "Do LDAP batch import now. This API starts the LDAP batch import, which will import both groups and users from the LDAP server. No request body is needed. Following privileges: [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) and [DssXmlPrivilegesConfigureSecurity](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureSecurity) are required to invoke current api.",
        "operationId" : "startBatchImport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/applications" : {
      "get" : {
        "tags" : [ "Applications" ],
        "summary" : "Get all application objects",
        "description" : "Get all application objects which contain id, name, homeScreenSettings, etc.",
        "operationId" : "getApplications",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "outputFlag",
          "in" : "query",
          "description" : "Specify what should be included or filtered out of the application output",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "DEFAULT", "FILTER_AUTH_MODES" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClientApplication"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Applications" ],
        "summary" : "Create a new application object",
        "description" : "Create a new application object which includes name, description, generalSettings, homeScreenSettings, etc. Following privilege: [DssXmlPrivilegesManageApplication](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) is required to invoke current api.",
        "operationId" : "createApplication_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Application information during creation",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ClientApplication"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content",
            "headers" : {
              "Location" : {
                "description" : "URL endpoint of newly created application",
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/applications/{id}" : {
      "get" : {
        "tags" : [ "Applications" ],
        "summary" : "Get an application object by application id",
        "description" : "Get an application object by application id, which contains name, description, generalSettings, homeScreenSettings, etc.",
        "operationId" : "getApplication_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Application ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "outputFlag",
          "in" : "query",
          "description" : "Specify what should be included or filtered out of the application output",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "DEFAULT", "INCLUDE_LOCALE", "INCLUDE_ACL" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ClientApplication"
                  }
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Applications" ],
        "summary" : "Update an application object",
        "description" : "Update an application object including name, description, generalSettings, homeScreenSettings, etc. Following privilege: [DssXmlPrivilegesManageApplication](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) is required to invoke current api.",
        "operationId" : "updateApplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Application ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Application information during updating",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ClientApplication"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Applications" ],
        "summary" : "Delete an application object by library application id",
        "description" : "Delete an application object by library application id. Following privilege: [DssXmlPrivilegesManageApplication](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) is required to invoke current api.",
        "operationId" : "removeApplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Application ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/library" : {
      "get" : {
        "tags" : [ "Library" ],
        "summary" : "Get the library for the authenticated user",
        "description" : "Get the library for the authenticated user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You use the outputFlag query parameter to specify what to include in or filter out of the library. If you choose DEFAULT, everything is included; if you choose FILTER_TOC, the chapters and pages are not included.",
        "operationId" : "getLibrary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "outputFlag",
          "in" : "query",
          "description" : "Specify what should be included or filtered out of the library output. DEFAULT = include everything, FILTER_TOC = filter out chapters and pages, INCLUDE_CONTENT_GROUPS = include the content groups",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "DEFAULT", "FILTER_TOC", "INCLUDE_BUNDLES", "INCLUDE_CONTENT_GROUPS", "INCLUDE_CHATBOTS", "INCLUDE_BOOKMARKS", "INCLUDE_TEMPLATE_INFO", "INCLUDE_ACG_INFO", "INCLUDE_CHATBOTS_CONFIGS" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LibraryShortcut"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Library" ],
        "summary" : "Publish a dashboard, document or report.",
        "description" : "Publish a dashboard, document or report to users or user groups in a specific project. This makes the dashboard, document or report available in the library of each user it is published to. You can publish a report, dashboard/document or an instance of a dashboard/document; you can publish a report/dashboard/document to any user, but you can only publish an instance to the current user. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide information about the document to be published in the body parameter of the request; this includes the report, dashboard, document or instance to be published and the users it will be published to.",
        "operationId" : "publishObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Document or Report Information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PublishRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/library/{id}" : {
      "get" : {
        "tags" : [ "Library" ],
        "summary" : "Get info for a published document or report.",
        "description" : "Get information for a specific published document or report in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the ID of the document or report you want to get information about in the path of the request.",
        "operationId" : "getPublishedObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID or Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublishResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Library" ],
        "summary" : "Un-publish a document or a report",
        "description" : "Un-publish a previously published document or report. This makes the document or report will no longer available in the library of each user it was originally published to. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You provide the ID of the document or report to be unpublished in the path of the request along with the type. If the type is missing, it defaults to type document.",
        "operationId" : "unpublishObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID or Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Library" ],
        "summary" : "Publish and Un-publish a document for users",
        "description" : "Publish and Un-publish a previously published document for users. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the ID of the document or report to be published or unpublished, where publish and un-publish users specified in request body. If the type of the object is not specified, it defaults to document. Following privilege: [DssXmlPrivilegesPublishDossier](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesPublishDossier) is required to invoke current api.",
        "operationId" : "modifyRecipients",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID or Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Add, Replace or Remove operation to be performed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsRecipientPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/library/{id}/recipients/{userId}" : {
      "delete" : {
        "tags" : [ "Library" ],
        "summary" : "Un-publish a document or a report for a specific user",
        "description" : "Un-publish a previously published document or a report for a specific user. This makes the document no longer available in the user's library. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the ID of the document or report to be unpublished and the ID of the user whose library it should be removed from in the path of the request. If the type of object is not provided, it defaults to document type.",
        "operationId" : "modifyRecipient",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID or Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/compliance/result" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get compliance check result",
        "description" : "Get result of compliance check. In order to do so, call async endpoint POST license/iServer/nodes/{nodeName}/compliance. You can check the status with endpoint GET license/iServer/nodes/{nodeName}/compliance/status. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "checkComplianceResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseCompliance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/audit" : {
      "post" : {
        "tags" : [ "License" ],
        "summary" : "Perform license audit",
        "description" : "Perform license audit. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "checkLicenseAudit",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/audit/result" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get result of an audit",
        "description" : "Get audit information regarding license. In order to do so, call async endpoint POST license/iServer/nodes/{nodeName}/audit. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "checkLicenseAuditResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseAudit"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/compliance" : {
      "post" : {
        "tags" : [ "License" ],
        "summary" : "Perform compliance check",
        "description" : "Perform compliance check. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "checkLicenseCompliance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/compliance/status" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Check compliance status",
        "description" : "Check compliance check job status. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "checkLicenseComplianceStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseComplianceStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/nodes/{nodeName}" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get info about license",
        "description" : "Detailed info about license. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicense",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/License"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "License" ],
        "summary" : "Update license information",
        "description" : "Perform PATCH operation to license object. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "updateLicense",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsLicensePatchOperation"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/nodes/{nodeName}/activation" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get activation info about license",
        "description" : "Get activation status of a license. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicenseActivation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseActivation"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "License" ],
        "summary" : "Update license activation info",
        "description" : "Perform license activation operations. In order to activate a license, fill user info with this endpoint and ask for xml file with iServer/nodes/{nodeName}/activation/xmlFile endpoint. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "updateLicenseActivation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsLicenseActivationPatchOperation"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/nodes/{nodeName}/activation/xmlFile" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get Activate.xml file",
        "description" : "Get xml file in order to activate a license. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicenseActivationXmlFile",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/xml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/privileges/{id}" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Check license privilege list",
        "description" : "Check license privilege list for an user. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicenseAuditPrivileges",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "licenseProduct",
          "in" : "query",
          "description" : "License product",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "RESERVED", "CLIENT_REPORTER", "CLIENT_WEB", "CLIENT_APPLICATION", "CLIENT_MOBILE", "CLIENT_ARCHITECT", "SERVER_REPORTER", "SERVER_INTELLIGENCE", "SERVER_ANALYTICS", "SERVER_COLLABORATION", "SERVER_DISTRIBUTION", "SERVER_TRANSACTION", "SERVER_GEOSPATIAL", "CLIENT_HYPER_WEB", "DRIVERS_BIG_DATA", "DRIVERS_OLAP", "GATEWAY_EMM_MOBILE_IRON", "GATEWAY_EMM_AIRWATCH_BY_VMWARE", "GATEWAY_EMM_APP_CONFIG", "GATEWAY_EMM_BLACKBERRY_DYNAMICS", "CLIENT_APPLICATION_TABLEAU", "CLIENT_APPLICATION_POWER_BI", "CLIENT_APPLICATION_QLIK", "CLIENT_APPLICATION_OFFICE", "CLIENT_HYPER_MOBILE", "CLIENT_HYPER_OFFICE", "CLIENT_HYPER_MESSAGING", "CLIENT_HYPER_SCREEN", "CLIENT_HYPER_VOICE", "CLIENT_HYPER_DESKTOP", "CLIENT_HYPER_API", "CLIENT_APPLICATION_JUPYTER", "PLACEHOLDER_1", "PLACEHOLDER_2", "CLIENT_APPLICATION_RSTUDIO", "PRODUCT_01", "PRODUCT_02", "PRODUCT_03", "PRODUCT_04", "PRODUCT_05", "PRODUCT_06", "CLIENT_DESKTOP" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicensePrivileges"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/nodes/{nodeName}/entitlements" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get entitlements info about license",
        "description" : "Get detailed info about license entitlements. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicenseEntitlements",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "licenseKey",
          "in" : "header",
          "description" : "License key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseEntitlements"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/license/iServer/nodes/{nodeName}/history" : {
      "get" : {
        "tags" : [ "License" ],
        "summary" : "Get history of a license",
        "description" : "Get history information about license. You obtain the authorization token needed to execute the request using POST /auth/login",
        "operationId" : "getLicenseHistory",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LicenseHistory"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/metadataSearches/results" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get search results in a list format",
        "description" : "Get search results previously stored in an instance in IServer memory and display them in a list. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You identify the search results by specifying the search ID as a query parameter in the request; you obtain the search ID using POST /metadataSearches/results. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "searchObjectList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchId",
          "in" : "query",
          "description" : "Search ID (identifies the results of a previous search stored in IServer memory)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Search the metadata and store an instance of search results",
        "description" : "Search the metadata for objects in a specific project that match specific search criteria, and save the results in IServer memory. Saving the results in memory supports incremental fetch by other requests. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, the search domain, the type of object, and a search pattern such as Begins With or Exactly. The response includes an instance ID for the search results stored in memory, which can be used as the search ID by other requests.",
        "operationId" : "createSearch",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Value the search pattern is set to, which will be applied to the names of object types being searched. For example, search for all report objects (type) whose name begins with (pattern) B (name).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pattern",
          "in" : "query",
          "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 4
          }
        }, {
          "name" : "domain",
          "in" : "query",
          "description" : "Domain where the search will be performed, such as Local or Project. Possible values are defined in [EnumDSSXMLSearchDomain](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchDomain.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 2
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "Search scope, which corresponds to a value from [EnumDSSXMLSearchScope](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchScope.html).",
          "schema" : {
            "type" : "string",
            "default" : "managed",
            "enum" : [ "reserved", "standalone", "managed", "rooted", "unrooted", "all" ]
          }
        }, {
          "name" : "root",
          "in" : "query",
          "description" : "Folder ID of the root folder where the search will be performed.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of object to be searched, such as Folder, Attribute or User. Possible values are defined in  EnumDSSXMLObjectTypes(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "usesObject",
          "in" : "query",
          "description" : "Constrain the search to only return objects which use the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usesRecursive",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that use the given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usesOneOf",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that use one of or all of given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usedByObject",
          "in" : "query",
          "description" : "Constrain the search to only return objects which are used by the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usedByRecursive",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that are used by the given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usedByOneOf",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that are used by one of or all of given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "beginModificationTime",
          "in" : "query",
          "description" : "Objects creation or modification time range start in ISO8601 format: yyyy-MM-dd'T'HH:mm:ssZ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endModificationTime",
          "in" : "query",
          "description" : "Objects creation or modification time range end in ISO8601 format: yyyy-MM-dd'T'HH:mm:ssZ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visibility",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "VISIBLE" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginableInstanceCreationInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/metadataSearches/results/tree" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get search results in a tree format",
        "description" : "Get search results previously stored in an instance in IServer memory and display them as a tree. The ancestors of the search result objects are the branches and the search result objects are the leaves of the tree. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You identify the search results by specifying the search ID as a query parameter in the request; you obtain the search ID using POST /metadataSearches/results. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "searchObjectTree",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchId",
          "in" : "query",
          "description" : "Search ID  (identifies results of a previous search stored in IServer memory)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BaseObjectNode"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrationGroups/{migrationGroupId}" : {
      "get" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Get detail of a migration group record",
        "description" : "Get detail of a migration group, including detail content and status of contained package and import.",
        "operationId" : "getMigrationGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationGroupId",
          "in" : "path",
          "description" : "migration group id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showContent",
          "in" : "query",
          "description" : "The type of showing content, the allowable values include default, tocview, treeview, all.",
          "schema" : {
            "type" : "string",
            "default" : "default"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationGroupDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Trigger an import process for a migration group or edit a migration group",
        "description" : "1. Trigger an import process to migrate the packages from the source environment to the target environment according to the action defined. This API can only be called when packages are locked and ImportRequestStatus is approved.2. Edit a migration group. A migration group can be edited only if the migration package status is 'created' or 'create_failed' and this migration import request status is 'pending' or 'rejected'. ",
        "operationId" : "triggerImport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationGroupId",
          "in" : "path",
          "description" : "migration group id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "generateUndo",
          "in" : "query",
          "description" : "Generate undo package or not",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "detailed information for the imports or the edition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationGroupPutDtoBase"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationGroupUpdateDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Update a migration or trigger an undo process",
        "description" : "1. It can trigger an undo process of the migration, undo only be called when the package is imported successfully or failed or undo failed.\n2. Update migration information. Used to change the importRequestStatus and undoRequestStatus of import (e.g. reject a request: requested -> rejected), and modify package.name, import.environment, import.project.",
        "operationId" : "updateMigration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationGroupId",
          "in" : "path",
          "description" : "migration group id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "update information for the migration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationGroupPatchDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrationGroups" : {
      "get" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Get migration list",
        "description" : "Query all migrations for current user in this environment, it is paginated.",
        "operationId" : "getMigrationGroupList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 1000",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "packageInfo.purpose",
          "in" : "query",
          "description" : "The purpose of the migration package, the allowable values include object_migration, project_merge.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageMigrationGroupDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Create a new migration group, which contains several migrations. This is used for creating multiple migrations at the same time",
        "description" : "1. Create a new migration group that includes a new package group and a corresponding import group. This is used for administration migration. It should be called in source environment.",
        "operationId" : "createMigrationGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking info for the migration. When create a total new migration, the packageInfo is required and the importInfo is optional. When reuse, the environment of importInfo is required.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationGroupCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationGroupStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Delete package file, corresponding migration records and undo packages.",
        "description" : "Package file and corresponding migration records will be deleted. If there are any undo packages, we will also try to delete them.",
        "operationId" : "deletePackage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageGroupId",
          "in" : "query",
          "description" : "The id of package group to be deleted.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrationGroups/{migrationGroupId}/certification" : {
      "patch" : {
        "tags" : [ "Migration Groups" ],
        "summary" : "Update a migration group's certification status or trigger a process to synchronize the status.",
        "description" : "If query parameter 'autoSync' is true, the migration group's certification status is synchronized with shared environment via storage service. The request body is ignored. Otherwise, the certification status is updated with the definition of request body.",
        "operationId" : "certifyMigrationGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationGroupId",
          "in" : "path",
          "description" : "migration group id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "autoSync",
          "in" : "query",
          "description" : "Auto sync certification status with shared environment",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "update information for the migration group certification",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PackageCertificationPatchDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/{migrationId}" : {
      "get" : {
        "tags" : [ "Migrations" ],
        "summary" : "Get detail of a migration record",
        "description" : "Get detail of a migration, including detail content and status of contained package and import.",
        "operationId" : "getMigration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showContent",
          "in" : "query",
          "description" : "The type of showing content, the allowable values include default, tocview, treeview, all.",
          "schema" : {
            "type" : "string",
            "default" : "default"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Migrations" ],
        "summary" : "Trigger an import process",
        "description" : "Trigger an import process to migrate the package from the source environment to the target environment according to the action defined. This API can only be called when package is locked and ImportRequestStatus is approved.",
        "operationId" : "triggerImport_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "generateUndo",
          "in" : "query",
          "description" : "Generate undo package or not",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking info for the import",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationUpdateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Migrations" ],
        "summary" : "Update a migration or trigger an undo process",
        "description" : "1. It can trigger an undo process of the migration, undo only be called when the package is imported successfully or failed or undo failed.\n2. Update migration information. Used to change the importRequestStatus and undoRequestStatus of import (e.g. reject a request: requested -> rejected), and modify package.name, import.environment, import.project.",
        "operationId" : "updateMigration_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "update information for the migration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationPatchDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations" : {
      "get" : {
        "tags" : [ "Migrations" ],
        "summary" : "Get migration list",
        "description" : "Query all migrations for current user in this environment, it is paginated.",
        "operationId" : "getMigrationList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 1000",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "packageInfo.purpose",
          "in" : "query",
          "description" : "The purpose of the migration package, the allowable values include object_migration, project_merge.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PageMigrationDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Migrations" ],
        "summary" : "Automatically synchronize the value of `packageInfo.existing` according to the file list.",
        "description" : "This method is used to mark records related to deleted packages as not existing. Besides, if a package file is found from the file list but the corresponding record is marked not existing in database, then this record should be marked as existing again.",
        "operationId" : "cleanUp",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "autoSync",
          "in" : "query",
          "description" : "A flag to trigger cleaning up. Currently, the value can only be 'packageInfo.existing'",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutoSyncResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "429" : {
            "description" : "Too Many Requests",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Migrations" ],
        "summary" : "Create a total new migration or reuse an existed package to create a new migration",
        "description" : "1. Create a new migration that includes a new package and a corresponding import. It should be called in source environment.\n2. Create a new migration reusing an existing package to import this package to another environment. This should only be allowed in source environment.",
        "operationId" : "createMigration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "unlockOnStart",
          "in" : "query",
          "description" : "Whether unlock should be done when creation is started, need to specify the locks to be unlocked",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "query",
          "description" : "Package id, when reuse it is required.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking info for the migration. When create a total new migration, the packageInfo is required and the importInfo is optional. When reuse, the environment of importInfo is required.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Migrations" ],
        "summary" : "Delete package file, corresponding migration records and undo packages.",
        "description" : "Package file and corresponding migration records will be deleted. If there are any undo packages, we will also try to delete them.",
        "operationId" : "deletePackage_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "query",
          "description" : "The id of package to be deleted.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/{migrationId}/packageInfo/certification" : {
      "patch" : {
        "tags" : [ "Migrations" ],
        "summary" : "Update a migration's package certification status or trigger a process to synchronize the status.",
        "description" : "If query parameter 'autoSync' is true, the migration's package certification status is synchronized with shared environment via storage service. The request body is ignored. Otherwise, the package certification status is updated with the definition of request body.",
        "operationId" : "certifyMigrationPackage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "autoSync",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "update information for the migration",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PackageCertificationPatchDto"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/{migrationId}/packageInfo" : {
      "put" : {
        "tags" : [ "Migrations" ],
        "summary" : "Edit migration package info",
        "description" : "This API modifies the package metadata in the database, deletes the original binary and recreates a new binary. The migration type can not be changed.",
        "operationId" : "editMigration",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "the packageInfo of the migration after editing",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationPackageEditDtoBase"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MigrationPackageStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/packages/{packageId}/binary" : {
      "get" : {
        "tags" : [ "Migrations" ],
        "summary" : "Download a package binary",
        "description" : "Download a package binary. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header.You provide the ID of the package you want to download in the path of the request which can be obtained using POST /migrations.",
        "operationId" : "downloadPackageBinary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/imports/{importId}/binary" : {
      "get" : {
        "tags" : [ "Migrations" ],
        "summary" : "Download an undo package binary",
        "description" : "Download an undo package binary. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You provide the ID of the import in the path of the request. The import ID can be obtained from the importInfo.id field of the migration response.",
        "operationId" : "downloadUndoPackageBinary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "importId",
          "in" : "path",
          "description" : "Import ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/migrations/{migrationId}/validation" : {
      "put" : {
        "tags" : [ "Migrations" ],
        "summary" : "Trigger a validate process",
        "description" : "Trigger a validate process to migrate the package from the source environment to the destination environment according to the action defined, without committing any changes to the metadata. This API can only be called by administrator when package is created.",
        "operationId" : "triggerValidate",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "migrationId",
          "in" : "path",
          "description" : "migration id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Linking info for the validate",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MigrationValidateRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/status" : {
      "get" : {
        "tags" : [ "Misc" ],
        "summary" : "Get info about the status of the REST API",
        "description" : "Get information about the status of the REST API, such as whether the API is up and how long it has been running.",
        "operationId" : "getHealth",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAIHealth",
          "in" : "query",
          "description" : "Show AI Health Connection Status",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "chatServiceParams",
          "in" : "query",
          "description" : "Configure the params of the chat service connection",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestServerInfo"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/iServer/nodes/{name}" : {
      "put" : {
        "tags" : [ "Monitors" ],
        "summary" : "Add a node to the connected Intelligence Server cluster",
        "description" : "Add a node to the connected Intelligence Server cluster. The node must meet I-Server clustering requirements. If the node is part of a multi-node cluster, all the nodes in that cluster will be added. If the node is already in the cluster, the operation succeeds without making any change. This operation requires the \"Monitor cluster\" and \"Administer cluster\" privilege. You specify the authorization token in the request header and the node name in the path. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesClusterAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesClusterAdministration) are required to invoke current api.",
        "operationId" : "addServerClusterMember",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "path",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerNodeAddResult"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Remove a node from the connected Intelligence Server cluster",
        "description" : "Remove a node from the connected Intelligence Server cluster. After a successful removal, some existing authorization tokens may become invalidated and in this case re-login is needed. You cannot remove a node if it's the configured default node of Library Server, or there is only one node in the cluster. This operation requires the \"Monitor cluster\" and \"Administer cluster\" privilege. You specify an authorization token in the request header and the node name in the path. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesClusterAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesClusterAdministration) are required to invoke current api.",
        "operationId" : "removeServerClusterMember",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "path",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/projects/{projectId}/caches/{cacheType}" : {
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Purge Element or Object Caches",
        "description" : "Used for purging object or element cache for a particular project. A user is required to pass Authorization token and project identifier. The token can be acquired from POST /auth/login whereas projectId can be obtained from GET /projects. Following privilege: [DssXmlPrivilegesCacheAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCacheAdministration) is required to invoke current api.",
        "operationId" : "deleteCache",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cacheType",
          "in" : "path",
          "description" : "Cache Type",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "element", "object", "report", "all" ]
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/userConnections/{id}" : {
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Disconnect an user connection on specific intelligence server node",
        "description" : "Disconnect an user connection on specific intelligence server node.You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the user connection id in the path of the request, you can get the user connection id through GET /monitors/userConnections.",
        "operationId" : "deleteUserConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User connection id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (User connection is deleted)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/iServer/nodes" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get information about nodes in the connected Intelligence Server cluster",
        "description" : "Get information about nodes in the connected Intelligence Server cluster. This includes basic information, runtime state and information of projects on each node.\n\nResponse behavior based on privileges:\n- If the user has DssXmlPrivilegesUseClusterMonitor privilege:\n  Returns full cluster node information including runtime state, project instances,   and detailed node properties.\n- If the user does NOT have DssXmlPrivilegesUseClusterMonitor privilege but has at least one of the following:\n  * DssXmlPrivilegesUseUserConnectionMonitor\n  * DssXmlPrivilegesUseCacheMonitor\n  * DssXmlPrivilegesUseCubeMonitor\n  * DssXmlPrivilegesUseJobMonitor \\\n  Returns only the names of cluster nodes.   The response contains a simplified list with just node names, without detailed information.\n- If the user does NOT have any of the above privileges:\n  Returns 403 Forbidden error with insufficient privileges message.\n\nFiltering behavior:\n- By default, only active (running) nodes are returned.\n- Use the 'includeInactiveNodes' parameter to include inactive (stopped/maintained) nodes in the response.\n- If a specific 'name' is provided, that node will always be included regardless of its status.\n- If a 'projectId' is provided, only nodes hosting that project will be included.\n- Note: It is not possible to get details of inactive nodes without the DssXmlPrivilegesUseClusterMonitor privilege.\n\nYou specify an authorization token in the request header.\n",
        "operationId" : "getClusterNodes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projects.id",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Node Name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeInactiveNodes",
          "in" : "query",
          "description" : "Include inactive cluster nodes in the response.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerNodes"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/dbConnectionInstances/{instanceId}" : {
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Disconnect database connection",
        "description" : "Disconnect database connection. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesDatabaseConnectionAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesDatabaseConnectionAdministration) is required to invoke current api.",
        "operationId" : "getDisConnectDataBaseConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Database connection instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/dbConnectionInstances" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get info for database connection status",
        "description" : "Get information for database connection status. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the iserver name you want to connect to. Following privilege: [DssXmlPrivilegesUseDatabaseConnectionMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseDatabaseConnectionMonitor) is required to invoke current api.",
        "operationId" : "getMultipleDataBaseConnection",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNodes",
          "in" : "query",
          "description" : "This iserver name you want to connect to, split by \",\"",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataBaseConnectionInstances"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/iServer/nodes/{nodeName}/projects/{projectId}/status" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get status of the project of specific node in the connected Intelligence Server cluster",
        "description" : "Get status of the project of specific node in the connected Intelligence server cluster. You obtain the authorization token needed to execute the request using POST /auth/login;  you pass the authorization token in the request header.  You obtain cluster node name and project id from GET /monitors/iServer/nodes.",
        "operationId" : "getProjectStatusFromNode",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectStatus"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/projects/status" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get status for a specific project on all cluster nodes.",
        "description" : "Get status for a specific project on all cluster nodes. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. ",
        "operationId" : "getProjectStatusOnAllNodes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectName",
          "in" : "query",
          "description" : "Project name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ClusterProjectDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Monitors" ],
        "summary" : "Update status for a specific project on all cluster nodes.",
        "description" : "Update status for a specific project on all cluster nodes. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. ",
        "operationId" : "updateProjectStatusOnAllNodes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectName",
          "in" : "query",
          "description" : "Project name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deleteSessions",
          "in" : "query",
          "description" : "Delete all project sessions immediately. On project unloaded, the default behavior is to wait for sessions to close. If the parameter is set to true, IServer will try to delete all project sessions immediately.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of active jobs",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MonitorProjectUpdateDto"
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/projects" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get list of all projects from metadata.",
        "description" : "Get list of all projects from metadata.",
        "operationId" : "getProjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior. Default is 0.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProjectDetails"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/userConnections" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get user connections infos in the cluster.\n",
        "description" : "Get user connections information.\nYou obtain the authorization token needed to execute the request using POST /auth/login\nYou pass the authorization token in the request header.\nYou can specify the cluster node names to retrieve user connections from.\nYou can get the cluster node names through GET /monitors/iServer/nodes, or get results from all nodes by not passing any nodeName.\nYou use the offset and limit query parameters in the request to determine the user connections displayed on the page.\n",
        "operationId" : "getUserConnections",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nOnly one project id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754&projectId=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sessionId",
          "in" : "query",
          "description" : "Session ID of an user connection.\nOnly one session id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'sessionId=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'sessionId=B7CA92F04B9FAE8D941C3E9B7E0CD754&sessionId=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "projectName",
          "in" : "query",
          "description" : "Project names collection which is used for filtering data.\nOnly one project name per collection item is supported.\n\n    Swagger example    'Platform Analytics'\n\n                       'Platform Analytics'\n                       'Microstrategy Tutorial'\n\n    Curl example       'projectName=Platform Analytics'\n                       'projectName=Platform Analytics&projectName=Microstrategy Tutorial'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "applicationType",
          "in" : "query",
          "description" : "Application types collection which is used for filtering data.\nOnly one application type per collection item is supported.\n\n    Swagger example    'Developer'\n\n                       'Developer'\n                       'MicroStrategyWeb'\n\n    Curl example       'applicationType=Developer'\n                       'applicationType=Developer&applicationType=MicroStrategyWeb'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "User full names collection which is used for filtering data.\nIt does support single value exact match filter.\n\n    Swagger example    'John Doe'\n\n    Curl example       'name=John Doe'\n",
          "schema" : {
            "pattern" : "^[\\p{L}][\\p{L}\\s.\\-']*[\\p{L}]$",
            "type" : "string"
          }
        }, {
          "name" : "username",
          "in" : "query",
          "description" : "User names login which is used for filtering data.\nIt does support single value exact match filter.\n\n    Swagger example    'MSTR User'\n\n    Curl example       'username=MSTR User'\n",
          "schema" : {
            "pattern" : "^[\\w-]+((\\s)*[\\w-]+)*$",
            "type" : "string"
          }
        }, {
          "name" : "createTime",
          "in" : "query",
          "description" : "Create time of an user connection.\nValid operators are :\n\n    `be: ` - \"between\"          example 'be:2023-01-01T00:00:00Z,2023-01-31T23:59:59Z'\n    `gt: ` - \"greater than\"     example 'gt:2023-01-01T00:00:00Z'\n    `lt: ` - \"less than\"        example 'lt:2023-01-01T00:00:00Z'\n    `eq: ` - \"equal\",           example 'eq:2023-01-01T00:00:00Z'\n    NONE - if field is left empty filter for create time will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
            "type" : "string"
          }
        }, {
          "name" : "connectionDuration",
          "in" : "query",
          "description" : "Duration time of an user connection in seconds.\nValid operators are :\n\n    `be: ` - \"between\"        example 'be:3600,7200'\n    `gt: ` - \"greater than\"   example 'gt:3600'\n    `lt: ` - \"less than\"      example 'lt:3600'\n    `eq: ` - \"equal\",         example 'eq:3600'\n    NONE - if field is left empty filter for connection duration will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$|be:[1-9][0-9]*,[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "idleTime",
          "in" : "query",
          "description" : "Idle time of an user connection in seconds.\nIdle time and last action are mutually exclusive fields.\nIn every case if both fields are passed, the last action will take priority and will be used for filtering.\nValid operators are :\n\n    `be: ` - \"between\"        example 'be:3600,7200'\n    `gt: ` - \"greater than\"   example 'gt:3600'\n    `lt: ` - \"less than\"      example 'lt:3600'\n    `eq: ` - \"equal\",         example 'eq:3600'\n    NONE - if field is left empty filter for idle time will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$|be:[1-9][0-9]*,[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "lastAction",
          "in" : "query",
          "description" : "Last action time of an user connection.\nIdle time and last action are mutually exclusive fields.\nIn every case if both fields are passed, the last action will take priority and will be used for filtering.\nValid operators are :\n\n    `be: ` - \"between\"          example 'be:2023-01-01T00:00:00Z,2023-01-31T23:59:59Z'\n    `gt: ` - \"greater than\"     example 'gt:2023-01-01T00:00:00Z'\n    `lt: ` - \"less than\"        example 'lt:2023-01-01T00:00:00Z'\n    `eq: ` - \"equal\",           example 'eq:2023-01-01T00:00:00Z'\n    NONE - if field is left empty filter for last action will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Collection of tenant ID of an user connection.\nOnly one tenant id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "includeConfigSessions",
          "in" : "query",
          "description" : "Boolean value to indicate whether the user connection is configured at the server level or not.\nIf set to true, response will include user connections configured at the server level.\n\n    Swagger example    true\n                       false\n\n    Curl example       'configLevel=true'\n                       'configLevel=false'\n",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.\n\n    Maximum value: 1000\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.\n\n    Minimum value: 0\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserConnectionsInfos"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/userConnections/aggregatedUsages" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get user connections aggregated usages infos in the cluster.\n",
        "description" : "Get user connections aggregated usages information.\nYou obtain the authorization token needed to execute the request using POST /auth/login\nYou pass the authorization token in the request header.\nYou can specify the cluster node names to retrieve user connections aggregated usages from.\nYou can get the cluster node names through GET /monitors/iServer/nodes.\nYou use the offset and limit query parameters in the request to determine the user connections displayed on the page.\n",
        "operationId" : "getUserConnectionsAggregatedUsages",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data.\nOnly one project id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       '7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'projectId=B7CA92F04B9FAE8D941C3E9B7E0CD754&projectId=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "sessionId",
          "in" : "query",
          "description" : "Session ID of an user connection.\nOnly one session id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'sessionId=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'sessionId=B7CA92F04B9FAE8D941C3E9B7E0CD754&sessionId=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "projectName",
          "in" : "query",
          "description" : "Project names collection which is used for filtering data.\nOnly one project name per collection item is supported.\n\n    Swagger example    'Platform Analytics'\n\n                       'Platform Analytics'\n                       'Microstrategy Tutorial'\n\n    Curl example       'projectName=Platform Analytics'\n                       'projectName=Platform Analytics&projectName=Microstrategy Tutorial'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "applicationType",
          "in" : "query",
          "description" : "Application types collection which is used for filtering data.\nOnly one application type per collection item is supported.\n\n    Swagger example    'Developer'\n\n                       'Developer'\n                       'MicroStrategyWeb'\n\n    Curl example       'applicationType=Developer'\n                       'applicationType=Developer&applicationType=MicroStrategyWeb'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "User full names collection which is used for filtering data.\nIt does support single value exact match filter.\n\n    Swagger example    'John Doe'\n\n    Curl example       'name=John Doe'\n",
          "schema" : {
            "pattern" : "^[\\p{L}][\\p{L}\\s.\\-']*[\\p{L}]$",
            "type" : "string"
          }
        }, {
          "name" : "username",
          "in" : "query",
          "description" : "User names login which is used for filtering data.\nIt does support single value exact match filter.\n\n    Swagger example    'MSTR User'\n\n    Curl example       'username=MSTR User'\n",
          "schema" : {
            "pattern" : "^[\\w-]+((\\s)*[\\w-]+)*$",
            "type" : "string"
          }
        }, {
          "name" : "createTime",
          "in" : "query",
          "description" : "Create time of an user connection.\nValid operators are :\n\n    `be: ` - \"between\"          example 'be:2023-01-01T00:00:00Z,2023-01-31T23:59:59Z'\n    `gt: ` - \"greater than\"     example 'gt:2023-01-01T00:00:00Z'\n    `lt: ` - \"less than\"        example 'lt:2023-01-01T00:00:00Z'\n    `eq: ` - \"equal\",           example 'eq:2023-01-01T00:00:00Z'\n    NONE - if field is left empty filter for create time will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
            "type" : "string"
          }
        }, {
          "name" : "connectionDuration",
          "in" : "query",
          "description" : "Duration time of an user connection in seconds.\nValid operators are :\n\n    `be: ` - \"between\"        example 'be:3600,7200'\n    `gt: ` - \"greater than\"   example 'gt:3600'\n    `lt: ` - \"less than\"      example 'lt:3600'\n    `eq: ` - \"equal\",         example 'eq:3600'\n    NONE - if field is left empty filter for connection duration will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$|be:[1-9][0-9]*,[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "idleTime",
          "in" : "query",
          "description" : "Idle time of an user connection in seconds.\nIdle time and last action are mutually exclusive fields.\nIn every case if both fields are passed, the last action will take priority and will be used for filtering.\nValid operators are :\n\n    `be: ` - \"between\"        example 'be:3600,7200'\n    `gt: ` - \"greater than\"   example 'gt:3600'\n    `lt: ` - \"less than\"      example 'lt:3600'\n    `eq: ` - \"equal\",         example 'eq:3600'\n    NONE - if field is left empty filter for idle time will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):[0-9][0-9]*$|be:[1-9][0-9]*,[0-9][0-9]*$",
            "type" : "string"
          }
        }, {
          "name" : "lastAction",
          "in" : "query",
          "description" : "Last action time of an user connection.\nIdle time and last action are mutually exclusive fields.\nIn every case if both fields are passed, the last action will take priority and will be used for filtering.\nValid operators are :\n\n    `be: ` - \"between\"          example 'be:2023-01-01T00:00:00Z,2023-01-31T23:59:59Z'\n    `gt: ` - \"greater than\"     example 'gt:2023-01-01T00:00:00Z'\n    `lt: ` - \"less than\"        example 'lt:2023-01-01T00:00:00Z'\n    `eq: ` - \"equal\",           example 'eq:2023-01-01T00:00:00Z'\n    NONE - if field is left empty filter for last action will not apply\n",
          "schema" : {
            "pattern" : "(?:lt|gt|eq):\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z|be:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z,\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$",
            "type" : "string"
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "Collection of tenant ID of an user connection.\nOnly one tenant id per collection item is supported.\n\n    Swagger example    'B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'B7CA92F04B9FAE8D941C3E9B7E0CD754,7CC086914B26E2041A9B35AC33FC8C4A'\n\n\n    Curl example       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754'\n                       'tenantIds=B7CA92F04B9FAE8D941C3E9B7E0CD754&tenantIds=7CC086914B26E2041A9B35AC33FC8C4A'\n",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "includeConfigSessions",
          "in" : "query",
          "description" : "Boolean value to indicate whether the user connection is configured at the server level or not.\nIf set to true, response will include user connections configured at the server level.\n\n    Swagger example    true\n                       false\n\n    Curl example       'configLevel=true'\n                       'configLevel=false'\n",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.\n\n    Maximum value: 1000\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.\n\n    Minimum value: 0\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserConnectionsAggregatedUsages"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/iServer/nodes/{nodeName}/projects/{projectId}" : {
      "patch" : {
        "tags" : [ "Monitors" ],
        "summary" : "Update properties for a specific project for respective cluster node.",
        "description" : "Update properties such as project status for a specific project for respective cluster node. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You obtain cluster node name and project id from GET /monitors/iServer/nodes.",
        "operationId" : "updateProjectStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "path",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update project properties with in cluster of nodes.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectStatusUpdate"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/mstrServices/mosaic/keytab" : {
      "post" : {
        "tags" : [ "Mosaic" ],
        "summary" : "Upload Mosaic keytab",
        "description" : "Upload a Mosaic keytab file to the local shared folder so other services can access it. Pass the authorization token in the request header (X-MSTR-AuthToken). If no token is provided, browser will prompt for credentials.",
        "operationId" : "uploadKeytab",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "fileName" : {
                    "type" : "string",
                    "description" : "Original file name (used only for validation)."
                  },
                  "file" : {
                    "type" : "string",
                    "description" : "Keytab binary",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/mstrServices/mosaic/settings/commit" : {
      "post" : {
        "tags" : [ "Mosaic" ],
        "summary" : "Commit Mosaic settings",
        "description" : "Commit Mosaic settings to production config files. The server will update config.properties, krb5.conf, and user-mapping.json under universal semantic service. Requires existing baseline files. Also enables JWT authentication mode. Pass the authorization token in the request header (X-MSTR-AuthToken). If no token is provided, browser will prompt for credentials.",
        "operationId" : "commitSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Mosaic settings payload",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MosaicSsoSettings"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/mstrServices/mosaic/settings" : {
      "get" : {
        "tags" : [ "Mosaic" ],
        "summary" : "Get Mosaic file settings",
        "description" : "Get Mosaic settings stored as files under universal semantic service. Pass the authorization token in the request header (X-MSTR-AuthToken). If no token is provided, browser will prompt for credentials.",
        "operationId" : "getSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MosaicSsoSettings"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/mstrServices/mosaic/settings/stage" : {
      "post" : {
        "tags" : [ "Mosaic" ],
        "summary" : "Save draft Mosaic settings",
        "description" : "Save draft Mosaic settings to sidecar file without modifying production config files. This allows saving work-in-progress configuration. Pass the authorization token in the request header (X-MSTR-AuthToken). If no token is provided, browser will prompt for credentials.",
        "operationId" : "saveDraft",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Mosaic settings payload",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MosaicSsoSettings"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/iServer/trustRelationship" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Check for trust relationship between Web Server and Intelligence Server",
        "description" : "Check to see if there is a trust relationship between the Web Server and the Intelligence Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "getIServerTrustStoreRelationship",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerTrustRelationshipResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Set up trust relationship between Web Server and Intelligence Server",
        "description" : "Set up a trust relationship between the Web Server and the Intelligence Server. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. In the body parameter of the request, you specify the URL or other unique identifier for the Web Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "createIServerTrustStoreRelationship",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Trust relationship information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerTrustRelationshipRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Delete current or all trust relationships between Web Server and Intelligence Server",
        "description" : "Delete current or all trust relationships between the Web Server and the Intelligence Server. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. deleteAll boolean parameter passed in body of the request, it defines if this operation will delete only current trust relationship if value is not provided or false, or all trust relationships saved on a server if value is true. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "deleteIServerTrustStoreRelationship",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deleteAll",
          "in" : "query",
          "description" : "Delete all currently assigned trust relationship tokens",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/cookies" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get relevant cookie setting info",
        "description" : "Get relevant information about cookie settings, such as whether the cookie is for sameSite, secure and httpOnly. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "getCookieInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CookiePropertiesResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the rest server cookie settings",
        "description" : "Update the cookie settings. In the body of the request you can specify the value for sameSite, httpOnly and secure. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateCookieSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security Properties information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CookieProperties"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/settings" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get REST Server configuration settings",
        "description" : "Get configuration settings for the current REST Server including settings for authentication, the Collaboration Server, Google Analytics, and the Intelligence Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "getRestServerSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestServerProperties"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/security" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get relevant security setting info",
        "description" : "Get relevant information about security settings, such as whether the secret key used for signing the identity token was set in the configuration file. If it was not set properly, an exception will be triggered. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "getSecurityInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the rest server security settings",
        "description" : "Update the security settings. In the body of the request you can specify the secret key that will be used in identity token generation, whether to enable Corss Origin Resource Sharing (CORS), and whether to disable URL validation when specifying domains for CORS configuration. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateSecuritySettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security Properties information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SecurityProperties"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/auth" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update authentication configuration settings",
        "description" : "Update the authentication configuration settings for the current REST server. In the body parameter of the request, you specify the default authentication mode and the authentication modes that will be available to connect to an Intelligence Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateAuthSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AuthProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/collaboration" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Collaboration Server configuration settings",
        "description" : "Update the Collaboration Server configuration settings. In the body parameter of the request, you specify the base URL for the Collaboration Server, whether the collaboration service is enabled, whether the comments or discussions service are enabled if the collaboration service is enabled, and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateCollaborationSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollaborationPropertiesBasic"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/globalSearch" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Global Search configuration settings",
        "description" : "Update the Global Search configuration settings. In the body parameter of the request, you specify whether global search is enabled. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateGlobalSearchSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlobalSearchProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/iServer" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Intelligence Server configuration settings",
        "description" : "Update the Intelligence Server configuration settings. In the body parameter of the request, you specify the initial and max connection pool size, the request timeout, and the number of reports/documents and searches that can be kept in memory. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateIServerSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerPropertiesBasic"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/microStrategyWeb" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update MicroStrategy Web configuration settings",
        "description" : "Update the MicroStrategy Web configuration settings. In the body parameter of the request, you specify the base URL for the MicroStrategy Web Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateMicroStrategyWebSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MicroStrategyWebProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/modelService" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update model Services configuration settings",
        "description" : "Update the model Services configuration settings. In the body parameter of the request, you specify the base URLs for model services and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateModelServiceSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ModelServicesProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/pluginSettings" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Plugin Settings configuration settings",
        "description" : "Update the Plugin Settings configuration settings. In the body parameter of the request, you specify whether plugin resources should be loaded dynamically. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updatePluginSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PluginSettingsProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant/{tenantId}/addMembers" : {
      "post" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Endpoint to add members to a tenant.\n",
        "description" : "Endpoint to add members to a tenant.\nAfter adding user group to a tenant, all users under the user group will be assigned to the tenant as well.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "addTenantMembers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantId",
          "in" : "path",
          "description" : "ID of the tenant to be operated. It is a 32-character hexadecimal string.\n\n    ex. 'e26e38f8460b492ab145c72b921a31be'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object consisting of a members list, where each member has memberId and memberTypeValue.\n\"memberId\" is a string representing the ID of the member, for example, user ID or project ID.\n\"memberId\" is a 32-character hexadecimal string. (GUID, UUID without hyphen)\n\"memberTypeValue\" is an integer representing the type of the member.\n\"memberTypeValue\" corresponds to an EnumDSSXMLObjectTypes, for example, 32 means project and 34 means user.\n\n        ex. {\n                \"members\": [\n                {\n                    \"memberId\": \"8c5f6d4e3a2b1c0d9e8f7a6b5c4d3e2f\",\n                    \"memberTypeValue\": 34\n                },\n                {\n                    \"memberId\": \"7f6e5d4c3b2a19081716151413121110\",\n                    \"memberTypeValue\": 34\n                },\n                {\n                    \"memberId\": \"6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d\",\n                    \"memberTypeValue\": 32\n                }\n                ]\n            }\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TenantMembersDTO"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant" : {
      "post" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Endpoint to create a tenant.\n",
        "description" : "Endpoint to create a tenant.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "createTenant",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object consisting of name only.\n    ex. {\n            \"name\": \"Tenant A\"\n        }\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectNameDTO"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateTenantResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant/{tenantId}" : {
      "get" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Get tenant information by its ID.\n",
        "description" : "Get tenant information by its ID.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nTenant information includes tenant suffix, tenant name, tenant description and tenant status.\n",
        "operationId" : "getTenantData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantId",
          "in" : "path",
          "description" : "ID of the tenant to be operated. It is a 32-character hexadecimal string.\n\n    ex. 'e26e38f8460b492ab145c72b921a31be'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Tenant"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Endpoint to delete a tenant by its ID.\n",
        "description" : "Endpoint to delete a tenant.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "deleteTenant",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantId",
          "in" : "path",
          "description" : "Unique tenant ID. It is a 32-character hexadecimal string.\n\n    ex. 'e26e38f8460b492ab145c72b921a31be'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant/removeMembers" : {
      "post" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Endpoint to remove members from any tenant.\n",
        "description" : "Endpoint to remove members from any tenant.\nMembers removed from tenant will be \"unassigned\" and later need to be assigned to other tenants.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "removeTenantMembers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object consisting of a members list, where each member has memberId and memberTypeValue.\n\"memberId\" is a string representing the ID of the member, for example, user ID or project ID.\n\"memberId\" is a 32-character hexadecimal string. (GUID, UUID without hyphen)\n\"memberTypeValue\" is an integer representing the type of the member.\n\"memberTypeValue\" corresponds to an EnumDSSXMLObjectTypes, for example, 32 means project and 34 means user.\n\n        ex. {\n                \"members\": [\n                {\n                    \"memberId\": \"8c5f6d4e3a2b1c0d9e8f7a6b5c4d3e2f\",\n                    \"memberTypeValue\": 34\n                },\n                {\n                    \"memberId\": \"7f6e5d4c3b2a19081716151413121110\",\n                    \"memberTypeValue\": 34\n                },\n                {\n                    \"memberId\": \"6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d\",\n                    \"memberTypeValue\": 32\n                }\n                ]\n            }\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TenantMembersDTO"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant/{tenantId}/status" : {
      "patch" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Endpoint to enable or disable a tenant.\n",
        "description" : "Endpoint to enable or disable a tenant by its ID.\nYou obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\n",
        "operationId" : "toggleTenant",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantId",
          "in" : "path",
          "description" : "Unique tenant ID. It is a 32-character hexadecimal string.\n\n    ex. 'e26e38f8460b492ab145c72b921a31be'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "enabled",
          "in" : "query",
          "description" : "Tenant status.\n",
          "required" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/multitenant/tenant/{tenantId}/suffix" : {
      "patch" : {
        "tags" : [ "Multi Tenant" ],
        "summary" : "Update tenant suffix by tenant ID.\n",
        "description" : "You obtain the authorization token needed to execute the request using POST /auth/login;\nyou pass the authorization token in the request header.\nUpdate tenant suffix by tenant ID. Tenant suffix which is used for tenant identification in multi-tenant environment.\nSuffix is a string with length between 1 and 8, and can only contain lowercase letters, uppercase letters, numbers, '&' character, and hyphens.\nTenant suffix must be unique across tenants.\n",
        "operationId" : "updateTenantSuffix",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantId",
          "in" : "path",
          "description" : "Unique tenant ID. It is a 32-character hexadecimal string.\n\n    ex. 'e26e38f8460b492ab145c72b921a31be'\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tenantSuffix",
          "in" : "query",
          "description" : "Tenant suffix which is used for tenant identification in multi-tenant environment.\nSuffix is a string with length between 1 and 8, and can only contain lowercase letters, uppercase letters, numbers, '&' character, and hyphens.\nIf empty value is passed, tenant suffix will be removed.\nTenant suffix must be unique across tenants.\n",
          "schema" : {
            "pattern" : "^[a-zA-Z0-9&-]{0,8}$",
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/nuggets" : {
      "post" : {
        "tags" : [ "Agent" ],
        "summary" : "Create a collection of nuggets",
        "description" : "Create a collection of nuggets through uploading a file or creating a user nugget.",
        "operationId" : "createNuggets",
        "parameters" : [ {
          "name" : "type",
          "in" : "query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "fileName" : {
                    "type" : "string",
                    "description" : "fileName"
                  },
                  "fileLocation" : {
                    "type" : "string",
                    "description" : "fileLocation"
                  },
                  "fileType" : {
                    "type" : "string",
                    "description" : "fileType"
                  },
                  "fileSize" : {
                    "type" : "integer",
                    "description" : "fileSize",
                    "format" : "int32"
                  },
                  "folderId" : {
                    "type" : "string",
                    "description" : "folderId"
                  },
                  "file" : {
                    "type" : "object"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "403" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/nuggets/{id}" : {
      "put" : {
        "tags" : [ "Agent" ],
        "summary" : "Update a collection of nuggets",
        "description" : "Update a collection of nuggets through re-uploading a file.",
        "operationId" : "updateNuggets_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "fileName" : {
                    "type" : "string",
                    "description" : "fileName"
                  },
                  "fileLocation" : {
                    "type" : "string",
                    "description" : "fileLocation"
                  },
                  "fileType" : {
                    "type" : "string",
                    "description" : "fileType"
                  },
                  "fileSize" : {
                    "type" : "integer",
                    "description" : "fileSize",
                    "format" : "int32"
                  },
                  "file" : {
                    "type" : "object"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "403" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/nuggets/{id}/categories" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get the categories for nuggets",
        "description" : "Get the categories for nuggets by providing the nuggets ID.",
        "operationId" : "getCategories",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "202" : {
            "description" : "Request accepted for processing."
          },
          "403" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Agent" ],
        "summary" : "Update the categories for nuggets",
        "description" : "Update the categories for nuggets by providing the nuggets ID and the new categories.",
        "operationId" : "updateCategories",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Nugget categories",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JsonNode"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "202" : {
            "description" : "Request accepted for processing."
          },
          "403" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/nuggets/orphans" : {
      "post" : {
        "tags" : [ "Auto Bots" ],
        "summary" : "Given a list of IDs and object type (document or user), return the orphaned ones.",
        "description" : "Given a list of IDs and object type (document or user), return the orphaned ones.",
        "operationId" : "getOrphans",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body containing list of IDs and object type",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/OrphanRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "403" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "x-swagger-microstrategy" : {
          "x-swagger-visibility" : "internal"
        }
      }
    },
    "/api/objects/{id}/certify" : {
      "put" : {
        "tags" : [ "Object Management" ],
        "summary" : "Certify or de-certify a specific object",
        "description" : "Certify or de-certify a specific object in a specific project. An object is certified when it meets the trust standards set by the certifier. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. For configuration level object, you SHOULD NOT provide the project IDYou pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). You use a query parameter to specify whether to certify or de-certify the object.",
        "operationId" : "certifyObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "certify",
          "in" : "query",
          "description" : "Specifies whether the object meets the trust standards of the certifier. If true, then the object is certified.",
          "required" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/objects/{id}/copy" : {
      "post" : {
        "tags" : [ "Object Management" ],
        "summary" : "Create a copy of a specific object",
        "description" : "Create a copy of a specific object. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request and object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). You specify the name and location (folder ID) of the new object in the body of the request. If you do not specify a new name, a default name is generated, such as 'Old Name (1)'. If you do not specify a folder ID, the object is saved in the same folder as the source object.",
        "operationId" : "copyObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object copy info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectCopyInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/objects/{id}/type/{type}/shortcuts" : {
      "post" : {
        "tags" : [ "Object Management" ],
        "summary" : "Create a shortcut object",
        "description" : "Create shortcut object for a specific object in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /projects; you pass the authorization token and the project ID in the request header. You identify the target object you are creating shortcut for with the object ID and type in the path of the request. You also specify the destination folder in request body. Following privilege: [DssXmlPrivilegesCreateShortcut](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCreateShortcut) is required to invoke current api.",
        "operationId" : "creatShortcut",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "path",
          "description" : "Object type",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Folder ID",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Folder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/objects/{id}" : {
      "get" : {
        "tags" : [ "Object Management" ],
        "summary" : "Get info for a specific object",
        "description" : "Get information for a specific object in a specific project; if you do not specify a project ID, you get information for the object in all projects. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
        "operationId" : "getObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MdxDbRoleId",
          "in" : "header",
          "description" : "The header allows the user cache object changes to the MDX schema instance.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "comments",
          "in" : "query",
          "description" : "Specify to include comments in response",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "reportCost",
          "in" : "query",
          "description" : "Specify to include report cost in response",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Object Management" ],
        "summary" : "Update info for a specific object",
        "description" : "Update information for a specific object in a specific project; if you do not specify a project ID, the object info is updated in all projects. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). You can refine how the information is updated using the 'flag' query parameter; you provide a bit-wise value from [EnumDSSXMLObjectFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectFlags.html). You provide the information to update the object in the body parameter of the request.",
        "operationId" : "updateObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MdxDbRoleId",
          "in" : "header",
          "description" : "The header allows the user cache object changes to the MDX schema instance.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "flags",
          "in" : "query",
          "description" : "Object update flags, which corresponds to a value from [EnumDSSXMLObjectFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectFlags.html)",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 70
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Object update info",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ObjectUpdateInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Object Management" ],
        "summary" : "Delete a specific object",
        "description" : "Delete a specific object in a specific project; if you do not specify a project ID, you delete information for the object in all projects.  You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
        "operationId" : "deleteObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). Currently, we don't support deletion of object type 32 (Projects/Applications) using this endpoint.",
          "required" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/objects/{type}/{id}/translations" : {
      "get" : {
        "tags" : [ "Object Management" ],
        "summary" : "Get translations for a specific object",
        "description" : "Get translations for a specific object in a specific project. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
        "operationId" : "getObjectsTranslation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MdxDbRoleId",
          "in" : "header",
          "description" : "The header allows the user cache object changes to the MDX schema instance.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "path",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectTranslationInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Object Management" ],
        "summary" : "Update translations for a specific object",
        "description" : "Update translations for a specific object in a specific project. You identify the object with the object ID and object type. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the object ID in the path of the request. You specify the object type as a query parameter; possible values for object type are provided in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
        "operationId" : "updateObjectsTranslation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MdxDbRoleId",
          "in" : "header",
          "description" : "The header allows the user cache object changes to the MDX schema instance.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "path",
          "description" : "Object type, which corresponds to a value from [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsObjectTranslationPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsObjectTranslationPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectTranslationInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/objects/{id}/recommendations" : {
      "get" : {
        "tags" : [ "Object Management" ],
        "summary" : "Get recommendations for a specific object",
        "description" : "Get recommendations for a specific object in a specific project. Currently, only objects with type 55 (documents/dashboards(dossiers)) are supported. Recommendations are based on an algorithm that uses affinity and popularity. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /projects; you pass the authorization token and the project ID in the request header. You identify the object you are getting recommendations for with the object ID; you specify the object ID in the path of the request. You can refine the results that are returned using the offset and limit query parameters.",
        "operationId" : "getRecommendations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the object that is the source of the recommendations",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RecommendationResultInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/config/oidc/native" : {
      "get" : {
        "tags" : [ "Configuration" ],
        "summary" : "Get OIDC configuration for native clients.",
        "description" : "Get OIDC configuration for native clients.",
        "operationId" : "getNativeOidcConfig",
        "parameters" : [ {
          "name" : "applicationId",
          "in" : "query",
          "description" : "If application auth mode is enabled, specify the ID of the custom application that initiate OIDC login.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAll",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "applicationType",
          "in" : "query",
          "description" : "Optional, Only need for Google Oidc. Different client has different configuration. See EnumDSSXMLApplicationType.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "clientRedirectUriScheme",
          "in" : "query",
          "description" : "Optional, Only need for Google Oidc Android client. Android clients may have different configurations. Use this value to get the correct iam configuration.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/OidcConfig"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/imports" : {
      "post" : {
        "tags" : [ "Packages" ],
        "summary" : "Create a package import process",
        "description" : "Create a package import process. ",
        "operationId" : "create_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "query",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "generateUndo",
          "in" : "query",
          "description" : "Generate undo package or not",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageImportDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/imports/{importId}" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Get result of a package import process",
        "description" : "Get result of a package import process. ",
        "operationId" : "retrieve_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "importId",
          "in" : "path",
          "description" : "Import process ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageImportDTO"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageImportDTO"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Packages" ],
        "summary" : "Close a import process",
        "description" : "Closes an existing import process previously created, please don't forget to close import process if don't use it anymore",
        "operationId" : "delete_3",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "importId",
          "in" : "path",
          "description" : "Import process ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/imports/{importId}/undoPackage/binary" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Download undo package binary for this import process",
        "description" : "Download undo package binary for this import process. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the package you want to download in the path of the request which can be obtained using POST /packages.",
        "operationId" : "downloadUndoPackageBinary_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "importId",
          "in" : "path",
          "description" : "Import process ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages" : {
      "post" : {
        "tags" : [ "Packages" ],
        "summary" : "Create metadata package holder",
        "description" : "Create a new in-memory metadata package holder. It can be used to create a new package, or load an existing package file for viewing and importing. ",
        "operationId" : "createEmptyPackage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/{packageId}" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Get package definition",
        "description" : "Get definition of a package, including package status and its detail content.",
        "operationId" : "get_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showContent",
          "in" : "query",
          "description" : "Show package content or not",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageDTO"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageDTO"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Packages" ],
        "summary" : "Update metadata package holder",
        "description" : "Fill the content of the in-memory metadata package holder per supplied specification. Currently, it's only supported when the holder is empty. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the package you want to download in the path of the request which can be obtained using POST /packages.",
        "operationId" : "updatePackagePerSpec",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PackageUpdateDto"
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Packages" ],
        "summary" : "Delete metadata package holder",
        "description" : "Delete the in-memory metadata package holder, releasing associated Intelligence Server resources. ",
        "operationId" : "deletePackageAsync",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/{packageId}/binary" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "Download a package binary",
        "description" : "Download a package binary. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the package you want to download in the path of the request which can be obtained using POST /packages.",
        "operationId" : "downloadPackageBinary_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Packages" ],
        "summary" : "Upload package to sandbox directly.",
        "description" : "Upload package to sandbox directly. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.You provide the ID of the package you want to download in the path of the request which can be obtained using POST /packages.",
        "operationId" : "uploadPackageBinary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageStatusDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/packages/{packageId}/objects" : {
      "get" : {
        "tags" : [ "Packages" ],
        "summary" : "View objects' detail definition in package",
        "description" : "View objects' detail definition in package. You obtain the authorization token needed to execute the request using POST /auth/login;  you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the ID of the package you want to view in the path of the request which can be obtained using POST /packages. You should create or upload this package first. ",
        "operationId" : "getPackageObjectDetail",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "packageId",
          "in" : "path",
          "description" : "Package ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "Object ids in package, separated with ','",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PackageViewDTO"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/palettes" : {
      "get" : {
        "tags" : [ "Palettes" ],
        "summary" : "Get all palettes",
        "description" : "Get all palettes in the MicroStrategy Project.",
        "operationId" : "getAllPalettes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AllPalettesAndThemes"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Palettes" ],
        "summary" : "Create a palette",
        "description" : "Create a new palette. You obtain the authorization token needed to execute the request using POST /auth/login. You provide the information needed to create the new palette in the body parameter of the request.",
        "operationId" : "createPalette",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Palette information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaletteCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/palettes/{id}" : {
      "get" : {
        "tags" : [ "Palettes" ],
        "summary" : "Get palette specified by id",
        "description" : "Get palette specified by id. ",
        "operationId" : "getPalette",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaletteInfo"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Palettes" ],
        "summary" : "Update a palette",
        "description" : "Update palette specified by id. You obtain the authorization token needed to execute the request using POST /auth/login. You provide the information needed to create the new palette in the body parameter of the request.",
        "operationId" : "updatePalette",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Object ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Palette information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PaletteCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/preferences/project/{projectId}/iserverLanguage" : {
      "get" : {
        "tags" : [ "Preferences" ],
        "summary" : "Get intelligence server language project preference",
        "description" : "Get the value of an intelligence server language project preference",
        "operationId" : "getLocaleMsgsProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Preferences" ],
        "summary" : "Set intelligence server language project preference",
        "description" : "Set a single user preference for a project.",
        "operationId" : "setLocaleMsgsProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Language ID",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LanguageRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/preferences/project/{projectId}/numberAndDateFormat" : {
      "get" : {
        "tags" : [ "Preferences" ],
        "summary" : "Get number and date format project preference",
        "description" : "Get the value of a number and date format project preference",
        "operationId" : "getSLocProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Preferences" ],
        "summary" : "Set number and date format project preference",
        "description" : "Set a single user preference for a project.",
        "operationId" : "setSLocProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Language ID",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LanguageRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/preferences/project/{projectId}/units" : {
      "get" : {
        "tags" : [ "Preferences" ],
        "summary" : "Get measurement units project preference",
        "description" : "Get the value of a measurement units project preference",
        "operationId" : "getUnitsProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Preferences" ],
        "summary" : "Set measurement units project preference",
        "description" : "Set a single user preference for a project.",
        "operationId" : "setUnitsProjectPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Measurement unit preference. Allowed values: 0 - DEFAULT, 1 - CM (centimeter), 2 - IN (inch), 3 - MM (millimeter), 4 - PT (point), 5 - PC (pica), 6 - PX (pixel)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MeasurementUnitRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/preferences/user/{userId}/units" : {
      "get" : {
        "tags" : [ "Preferences" ],
        "summary" : "Get user's measurement units preference",
        "description" : "Retrieves the measurement units preference for the specified user.",
        "operationId" : "getUnitsUserPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeasurementUnitResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Preferences" ],
        "summary" : "Set user's measurement units preference",
        "description" : "Updates the measurement units preference for the specified user.",
        "operationId" : "setUnitsUserPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Measurement unit preference. Allowed values: 0 - DEFAULT, 1 - CM (centimeter), 2 - IN (inch), 3 - MM (millimeter), 4 - PT (point), 5 - PC (pica), 6 - PX (pixel)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MeasurementUnitRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/preferences/usergroup/{userGroupId}/locale" : {
      "get" : {
        "tags" : [ "Preferences" ],
        "summary" : "Get user group locale preferences",
        "description" : "Returns the current locale preferences for the specified user group. The result includes the following locale preferences: Data locale, Metadata locale, Date and number format locale, and IServer message language locale.",
        "operationId" : "getUserGroupPreferences",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userGroupId",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserGroupPreferenceResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Preferences" ],
        "summary" : "Set user group locale preferences",
        "description" : "Updates the locale-related preferences for the specified user group. Locale preferences include Data locale, Metadata locale, Date and number format, and IServer message language. Each preference can be updated individually using JSON PATCH operations.",
        "operationId" : "setUserGroupPreference",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userGroupId",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserGroupPreferencePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserGroupPreferenceResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/{id}/status" : {
      "put" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Cancel project duplication",
        "description" : "Cancel project duplication",
        "operationId" : "cancelDuplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Duplication ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectDuplicationStatusDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications" : {
      "get" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Get project duplications",
        "description" : "Get project duplications",
        "operationId" : "getProjectDuplications",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 1000",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectDuplicationsDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Trigger a new project duplication",
        "description" : "trigger a either of :1. whole project duplication2. export phase of project duplication3. import phase of project duplication",
        "operationId" : "createDuplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "The project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectDuplicationCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectDuplicationDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/{id}" : {
      "get" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Get project duplication by ID",
        "description" : "Get project duplication by ID",
        "operationId" : "getProjectDuplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Duplication ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectDuplicationDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Trigger a new cross-environment project duplication on the target environment",
        "description" : "Trigger a new cross-environment project duplication on the target environment.\nYou should pass the duplication ID obtained by calling POST /api/projectDuplications on the source environment.\nThe exported project from the source environment will be automatically synced to this target environment and duplicated as a new project.\n",
        "operationId" : "createDuplicationOnTarget",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Duplication ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectDuplicationCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectDuplicationCreateDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Delete project duplication by ID",
        "description" : "Delete project duplication by ID",
        "operationId" : "deleteDuplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Duplication ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/{id}/backup" : {
      "get" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Get project duplication package by ID",
        "description" : "Get project duplication package by ID",
        "operationId" : "getProjectDuplicationFiles",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Duplication ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/versions" : {
      "get" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Get project duplication compatibility versions",
        "description" : "Get project duplication compatibility version info.",
        "operationId" : "getProjectDuplicationVersions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IserverDuplicationVersionsDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/restoration" : {
      "post" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Trigger project duplication on this environment with a duplication package from source environment.",
        "description" : "Trigger project duplication on this environment with a project duplication package file from source environment. The package file can be obtained by the GET /api/projectDuplications/{id}/files. This endpoint accepts a multipart request with a JSON metadata object and the project package file.",
        "operationId" : "triggerDuplicationByPackage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "required" : [ "file", "metadata" ],
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  },
                  "metadata" : {
                    "$ref" : "#/components/schemas/ProjectRestorationRequestDto"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectDuplicationsDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projectDuplications/validations" : {
      "post" : {
        "tags" : [ "Project Duplications" ],
        "summary" : "Validate project duplication compatibility versions",
        "description" : "Validate project duplication compatibility versions to check if the source and target environments are compatible for project duplication.\nYou call the GET /api/projectDuplications/versions endpoint on the source environment to get its project duplication compatibility versions.\nThen, you pass those versions to this endpoint on target environment to validate if they are compatible for project duplication.\n",
        "operationId" : "validateProjectDuplication",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IserverDuplicationVersionsDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get projects for authenticated user",
        "description" : "Get a list of all projects that the authenticated user has access to. This endpoint returns the name, ID, description, alias, and status of each project; the project status corresponds to values from [EnumDSSXMLProjectStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLProjectStatus.html). It also specifies  whether this project is the platform analytics project, which contains a set of pre-defined reports that provide statistics for the IServer. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getProjects_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{projectId}" : {
      "delete" : {
        "tags" : [ "Projects" ],
        "summary" : "Delete a project",
        "description" : "Used for deleting a project by projectId. The project has to be unloaded before the deletion. The returned 202 HttpCode means that the project is being deleted asynchronously, whereas 204 HttpCode means that the project has been already deleted.",
        "operationId" : "deleteProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deleteSessions",
          "in" : "query",
          "description" : "When true, all user sessions will be automatically deleted.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Projects" ],
        "summary" : "Edit a project object alias",
        "description" : "API to update project object's alias.",
        "operationId" : "updateProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{projectId}/settings/engine" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get available and current engine settings for a project",
        "description" : "Get available and current engine settings for a project. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. Following privilege: [DssXmlPrivilegesUseVLDBPropertyEditor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseVLDBPropertyEditor) is required to invoke current api.",
        "operationId" : "getEngineSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EngineSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Projects" ],
        "summary" : "Update project data engine version properties.",
        "description" : "Update project data engine version properties. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You obtain the existing settings for the applications using GET /settings/engine. You provide the request body as of list of replace operations to be performed on the property value with the path path of the property to be updated. Following privilege: [DssXmlPrivilegesUseVLDBPropertyEditor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseVLDBPropertyEditor) is required to invoke current api.",
        "operationId" : "patchAnalyticalEngineVersionProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Replace operation to be performed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectEngineVersionPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectEngineVersionPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EngineSettings"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{name}" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get a specific project for authenticated user",
        "description" : "Get a specific project that the authenticated user has access to. This endpoint returns the name, ID, description, alias, and status of the specified project; the project status corresponds to values from [EnumDSSXMLProjectStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLProjectStatus.html). It also specifies whether this project is the platform analytics project, which contains a set of pre-defined reports that provide statistics for the IServer. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specifiy the name of the project in the path of the request.",
        "operationId" : "getProject_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "path",
          "description" : "Project name. The '%' character is not allowed.\n",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/datasources" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get list of datasources based on project.",
        "description" : "Get list of datasources based on project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the project Id in the path of the request; you obtain the project Id using GET /projects.",
        "operationId" : "getProjectDatasources",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ValidateDatasource"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update datasource of project.",
        "description" : "Update selected information for a specific datasource for that project.You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the datasource login ID in the path of the request. You obtain the database source ID using GET /projects/{id}/datasources. You provide the information needed to update the datasource in the body parameter of the request; Currently either you can 'add' or 'remove' datasource from the project.",
        "operationId" : "updateProjectDatasources",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Replace operation to be performed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectDatasourcePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectDatasourcePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ValidateDatasource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/languages" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get language settings for data and metadata for the project",
        "description" : " Get a list of language settings for data and metadata properties for a given project. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the project Id in the path of the request. You obtain the project Id using GET /projects.",
        "operationId" : "getProjectLanguageSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectLanguageConfiguration"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Projects" ],
        "summary" : "Update datasource of project.",
        "description" : "Used to update language settings for data and metadata properties for a given project. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the project Id in the path of the request. You obtain the project Id using GET /projects. You provide the information needed to update the language settings in the body parameter of the request. Currently, table, column and connectionId only support 'replace'.",
        "operationId" : "updateProjectLanguageSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Replace operation to be performed",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectLanguageSettingsPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectLanguageSettingsPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectLanguageConfiguration"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/settings/onStartup" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get current settings of projects on startup",
        "description" : "Get a list of applications along with the nodes on which they would be available when the iServer starts up. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) is required to invoke current api.",
        "operationId" : "getProjectLoadSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectLoadInfoList"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Projects" ],
        "summary" : "Update application status on nodes when iServer starts up.",
        "description" : "Update status of applications on iServer nodes at start up. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You obtain the existing settings for the applications along with the list of nodes using GET /settings/onStartup. You provide the request body as of list of replace operations to be performed on the value of array of nodes with the path URI containing the corresponding project id that needs to be updated. Following privilege: [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) is required to invoke current api.",
        "operationId" : "patchProjectLoadSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update application status on nodes when iServer starts up.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectLoadPatch"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsProjectLoadPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectLoadInfoList"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/quotas" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get project-level Data Import quota",
        "description" : "Get the amount of space, in MB, that can be used for the Data Import function for a specific project. This is the default value applied to all users. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the project ID the path of the request. If you want to set a quota for a specific user, use PUT /projects/{id}/users/{userId}/quotas to set the user-level quota. ",
        "operationId" : "getProjectQuota",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuotaBase"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Set project-level Data Import quota",
        "description" : "Set the amount of space, in MB, that can be used for the Data Import function for a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the project ID in the path of the request. You specify the quota amount for the project, in MB, in the body of the request.",
        "operationId" : "setProjectQuota",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Project quota",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/QuotaBase"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuotaBase"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/users/quotas" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get user-level Data Import quota information",
        "description" : "Get a list of users for whom Data Import quotas have been set and their quotas. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the project ID the path of the request. If you want quotas for specific users, you use a query parameter to specify the user IDs; otherwise, all users for whom quotas have been set are returned.",
        "operationId" : "getUserQuotas",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "query",
          "description" : "User ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/QuotaUserInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{projectId}/lock" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Query the state of the lock on a project",
        "description" : "This API provides the administrators the ability to query the lock information of a Project in the Environment. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. If the project is not locked, the lockType in the response is \"not_locked\". The detailed information of the lock is also in the response. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the project object. \"constituent\" means that it locks the project object and all the objects in the project.",
        "operationId" : "queryProjectLock",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectLockInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Lock a Project",
        "description" : "This API provides the administrators the ability to lock a Project in the Environment. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You should assign the lockId and lockType in the request body. The lockId should be a non-empty string which only contains ascii printable characters and whose length is no more than 250. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the project object. \"constituent\" means that it locks the project object and all the objects in the project.",
        "operationId" : "lockProject_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Lock type and lock ID",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/LockRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Projects" ],
        "summary" : "Unlock a project",
        "description" : "This API provides the administrators the ability to unlock a Project in the Environment. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You obtain the lock information (lockType and lockId) using GET /projects/{projectId}/lock. If the value of the query parameter \"force\" is false, the parameter \"lockId\" should be the same with the current lock. Four types of lockType are supported, which are \"temporal_individual\", \"temporal_constituent\", \"permanent_individual\", and \"permanent_constituent\". \"temporal\" means that the session of that user has access to the object, but other sessions(even those with the same user) will not be able to edit the object. This kind of lock disappears when the user's session expires. \"permanent\" means that it locks all users from editing the object, including the one holding the lock. This type of lock will not expire and must be removed before the object can be edited again. \"individual\" means that it locks only the project object. \"constituent\" means that it locks the project object and all the objects in the project.",
        "operationId" : "unlockProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "lockType",
          "in" : "query",
          "description" : "The type of the lock to unlock",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "force",
          "in" : "query",
          "description" : "Whether to force unlock the lock",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "lockId",
          "in" : "query",
          "description" : "The Id of the lock to unlock when not force unlock",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectLockInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/users/{userId}/quotas" : {
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Set user-level Data Import quota for a specific user",
        "description" : "Set the amount of space, in MB, that can be used for the Data Import function for a specific user. The value provided is rounded to an integer. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the project ID and the user ID in the path of the request. You specify the quota amount for the user in MB, in the body of the request, otherwise the quota will be removed.",
        "operationId" : "setUserQuotas",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "User quota",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/QuotaBase"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/QuotaUserInfo"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects/{id}/primaryDatasources" : {
      "put" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update primary datasource of project",
        "description" : "Update primary datasource of the project specified by id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the datasource ID using GET /projects/{id}/datasources. You provide the information needed to update the primary datasource in the body parameter of the request. Following privilege: [DssXmlPrivilegesConfigureProjectDataSource](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureProjectDataSource) is required to invoke current api.",
        "operationId" : "updateProjectPrimaryDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Project primary datasource info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectPrimaryDatasourceInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DatasourceInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/prompts/{promptId}/personalAnswers" : {
      "post" : {
        "tags" : [ "Prompts" ],
        "summary" : "Create personal answers for a prompt",
        "description" : "Create personal answers for a prompt. Generate authentication token using /auth/login API. Provide the auth token in the request header. Instance id is optional. It is only needed for embedded prompts. It is not needed for standalone prompts.",
        "operationId" : "createPromptAnswers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-InstanceId",
          "in" : "header",
          "description" : "Instance ID of a dashboard(dossier) or a report",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PersonalPromptAnswer"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PersonalPromptAnswerId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/prompts/{promptId}/personalAnswers/{id}" : {
      "patch" : {
        "tags" : [ "Prompts" ],
        "summary" : "Edit a personal answer for a prompt",
        "description" : "Edit a personal answer for a prompt. Generate authentication token using /auth/login API. Provide the auth token in the request header. Instance id is optional. It is only needed for embedded prompts. It is not needed for standalone prompts.",
        "operationId" : "updatePromptAnswers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Personal prompt answer id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-InstanceId",
          "in" : "header",
          "description" : "Instance ID of a dashboard(dossier) or a report",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsPromptPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsPromptPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PersonalPromptAnswerId"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/{questionId}" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get the question with the specified id.",
        "description" : "Get the question with the specified id.",
        "operationId" : "queryMessage_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get chat messages for a agent",
        "description" : "Get all chat messages associated with the current user within the specified agent. You must specify the agent id whose messages you want to retrieve. ",
        "operationId" : "getChats_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "query",
          "description" : "Agent ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionListGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Agent" ],
        "summary" : "Post a question to the specified agent, or the agents in the specified application.",
        "description" : "Post a question to the specified agent, or the agents in the specified application. If no agent is specified in the request body, the question will be routed to the most suitable agent. You can specify content groups and agents for routing the question. ",
        "operationId" : "createQuestion_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentGroupIds",
          "in" : "query",
          "description" : "Content group id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botIds",
          "in" : "query",
          "description" : "Agent id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string",
            "default" : "C2B2023642F6753A2EF159A75E0CFF29"
          }
        }, {
          "name" : "useHistory",
          "in" : "query",
          "description" : "use history or start a new chat.",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AutomaticRoutingQuestionPostDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Content-Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/withImage" : {
      "post" : {
        "tags" : [ "Agent" ],
        "summary" : "Post a question with optional image (multipart) to the specified agent, or the agents in the specified application.",
        "description" : "Multipart form variant that accepts an image file plus the same question data. If no agent is specified, the question will be routed to the most suitable agent.",
        "operationId" : "createQuestionWithImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentGroupIds",
          "in" : "query",
          "description" : "Content group id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botIds",
          "in" : "query",
          "description" : "Agent id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string",
            "default" : "C2B2023642F6753A2EF159A75E0CFF29"
          }
        }, {
          "name" : "useHistory",
          "in" : "query",
          "description" : "use history or start a new chat.",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "body" : {
                    "type" : "string",
                    "description" : "Question payload as JSON string (serialized AutomaticRoutingQuestionPostDto without image)."
                  },
                  "imageFile" : {
                    "$ref" : "#/components/schemas/FormDataContentDisposition"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Content-Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/collections" : {
      "post" : {
        "tags" : [ "Agent" ],
        "summary" : "Post multiple questions all in once to the specified agent, or the agents in the specified application.",
        "description" : "Post multiple questions to the specified agent, or the agents in the specified application. If no agent is specified in the request body, the question will be routed to the most suitable agent. ",
        "operationId" : "createQuestions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentGroupIds",
          "in" : "query",
          "description" : "Content group id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botIds",
          "in" : "query",
          "description" : "Agent id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string",
            "default" : "C2B2023642F6753A2EF159A75E0CFF29"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionPostDto"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Content-Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/suggestions" : {
      "post" : {
        "tags" : [ "Agent" ],
        "summary" : "Get suggestions from the specified application or agent",
        "description" : "Get suggestions from the specified application or agent. If no agent is specified in the request body, the suggestions will be generated based on the application. ",
        "operationId" : "createSuggestions_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentGroupIds",
          "in" : "query",
          "description" : "Content group id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botIds",
          "in" : "query",
          "description" : "Agent id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string",
            "default" : "C2B2023642F6753A2EF159A75E0CFF29"
          }
        }, {
          "name" : "useHistory",
          "in" : "query",
          "description" : "use history or start a new chat",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AutomaticRoutingBotSuggestionPostDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingBotSuggestionCreateDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/{questionId}/fulldata/{dataId}" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get visualization data exported file for the question with the specified id.",
        "description" : "Get visualization data exported file for the question with the specified id.",
        "operationId" : "getFullData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataId",
          "in" : "path",
          "description" : "Data ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of data export format to be used",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "xlsx", "csv" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/{questionId}/answers/images/{imageId}" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get the question image with the specified id.",
        "description" : "Get the question image with the specified id.",
        "operationId" : "getMessageImage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "imageId",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "image/png" : {
                "schema" : {
                  "type" : "string",
                  "format" : "byte"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "image/png" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "image/png" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "image/png" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "image/png" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/{questionId}/answers/data/{dataId}" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get chat message data file with the specified id from storage service.",
        "description" : "Get chat message data file with the specified id from storage service.",
        "operationId" : "getMessageVis",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataId",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "teamsFetchVizKey",
          "in" : "query",
          "description" : "Teams fetch visualization key",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Agent" ],
        "summary" : "Update chat message data file with the specified id to storage service.",
        "description" : "Update chat message data file with the specified id to storage service.",
        "operationId" : "updateMessageViz",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataId",
          "in" : "path",
          "description" : "Image ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The content to update.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VizData"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/collections/{questionIds}" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get the question with the specified id.",
        "description" : "Get the question with the specified id.",
        "operationId" : "getQuestionCollections",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionIds",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/questions/{questionId}/stream" : {
      "get" : {
        "tags" : [ "Agent" ],
        "operationId" : "startQuestionStreamTask_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "questionId",
          "in" : "path",
          "description" : "Question ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "text/event-stream" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/document/{id}" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "GET cache objects for a specific document\n",
        "description" : "GET cache objects for a specific document by providing the DocumentID and ProjectID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nCluster node name is optional. If not provided, the request will be sent to all available cluster nodes.\n",
        "operationId" : "getDocumentCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerCachesInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "DELETE cache objects for a specific document\n",
        "description" : "DELETE cache objects for a specific document by providing the DocumentID and ProjectID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nCluster node name is optional. If not provided, the request will be sent to all available cluster nodes.\n\nThe request does not check whether the cache exists or not. Use the GET request to verify it.\n",
        "operationId" : "deleteDocumentCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Document ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Document caches are deleted)"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/monitors/caches/report/{id}" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "GET cache objects for a specific report\n",
        "description" : "GET cache objects for a specific report by providing the ReportID and ProjectID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nCluster node name is optional. If not provided, the request will be sent to all available cluster nodes.\n",
        "operationId" : "getReportCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerCachesInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "DELETE cache objects for a specific report\n",
        "description" : "DELETE cache objects for a specific report by providing the ReportID and ProjectID.\n\nYou obtain the authorization token needed to execute the request using POST /auth/login.\n\nYou pass the authorization token in the request header.\n\nCluster node name is optional. If not provided, the request will be sent to all available cluster nodes.\n\nThe request does not check whether the cache exists or not. Use the GET request to verify it.\n",
        "operationId" : "deleteReportCaches",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "pattern" : "[a-fA-F0-9]{32}",
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Report caches are deleted)"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/prompts/answers" : {
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Answer specified prompts",
        "description" : "Answer specified prompts on the report instance, prompts can either be answered with default answers(if available), the appropriate answers, or if the prompt is not required the prompt can simply be closed. If no prompt answers are provided for a particular prompt, it will be closed without answers.",
        "operationId" : "answerPrompts_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Information for answering prompts",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PromptAnswering"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Create a report instance and get the results",
        "description" : "Get the results of a newly created report instance. This in-memory report instance can be used by other requests.\nYou obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET/projects. You pass the authorization token and the project ID in the request header. You specify the report ID in the pathof the request.You use the offset and limit query parameters in the request to determine the report data displayed on the page. In the body parameter of the request, you specify the data to be included in the report instance, such as attributes,metrics, view filter, metric limits, thresholds and sorting criteria.",
        "operationId" : "createReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the report instance – such as attribute values, metric values, view filters, and sorting criteria.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigRequestedObjectsV1SortingConfigV1"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the results of a report instance",
        "description" : "Get the results of a previously created report instance, using the in-memory report instance created by a POST /reports/{reportId}/instances request.\nYou obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID and report instance ID in the path of the request. You use the offset and limit query parameters in the request to determine the report data displayed on the page.",
        "operationId" : "executeReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Update report instance do manipulations like changing template, view filters, metric limits, thresholds and  sorting on top of the instance. If includeThresholds parameter is set to true, the result will also contain thresholds information, else all thresholds information will be excluded from the result.",
        "description" : "Do manipulations on top of the specified instance",
        "operationId" : "manipulateReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the report instance – such as attribute values, metric values, view filters, sorting criteria and properties.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReportInstanceUpdateInfoRequestedObjectsV1SortingConfigV1"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/attributes/{attributeId}/elements" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get elements for a specific attribute in a specific report instance",
        "description" : "Get a list of elements for a specific attribute in a specific report instance in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the report ID, the report instance ID, and the attribute ID in the path  of the request. You use the offset and limit query parameters to control paging behavior; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. You use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly. A list of Base Form IDs can be passed in as query parameter to specify what forms of elements be returned. If base form IDs not specified, all browse form values in the report are returned.",
        "operationId" : "getAttributeElement_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "baseFormIds",
          "in" : "query",
          "description" : "Attribute Base Form IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applyViewFilter",
          "in" : "query",
          "description" : "Whether the attribute elements are filtered by view filters. Only effective for subset reports.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AttributeElement"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/attributes/{attributeId}/elements" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get elements for a specific attribute in a specific report",
        "description" : "Get a list of elements for a specific attribute in a specific report in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You pass the report ID, and the attribute ID in the path  of the request. You use the offset and limit query parameters to control paging behavior; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. You use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly. A list of Base Form IDs can be passed in as query parameter to specify what forms of elements be returned. If base form IDs not specified, all browse form values in the report are returned.",
        "operationId" : "getAttributeElementFromReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "baseFormIds",
          "in" : "query",
          "description" : "Attribute Base Form IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/AttributeElement"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get a report definition",
        "description" : "Get the definition of a specific report, including attributes and metrics. This in-memory report definition provides information about all available objects without actually running any data query/report. The results can be used by other requests to help filter large datasets and retrieve values dynamically, helping with performance and scalability. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID in the path of the request.",
        "operationId" : "getDefinition_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/status" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the status of a report instance",
        "description" : "Get the status of a report instance; see [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values. It returns the header X-MSTR-IStatus with the status message, and Retry-After with the suggested retry time in seconds if it is a status that requires polling. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token and the project ID in the request header. You specify the report ID and the report instance ID in the path of the request; you get the report instance ID using POST /report/{id}/instances.",
        "operationId" : "getDocumentInstanceStatus_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "reportId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "instanceId",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing."
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/prompts/{promptIdentifier}/elements" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get available attribute element for attribute element prompt",
        "description" : "Get a list of available elements for answering a specific attribute element prompt in a specific report within a project. The elements are defined in the prompt definition and can be changed in Web/Developer. The elements can be a pre-defined list or search result. Obtain the authorization token needed to execute the request using POST /auth/login. Obtain the project ID using GET /projects. Pass the authorization token and project ID in the request header. Pass the report ID and prompt identifier, such as prompt key or ID, in the path of the request. Use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning results. The limit parameter specifies how many results to return. Use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getPromptAvailableAttributeElement_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptIdentifier",
          "in" : "path",
          "description" : "Prompt key or ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AvailableAnswersForElements"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/prompts/{promptIdentifier}/objects" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get available object for answering all kinds of prompts",
        "description" : "Get a list of available objects for answering a specific prompt in a specific report within a project. The objects are defined in the prompt definition and can be changed in Web/Developer. The elements can be a pre-defined list or search result. Obtain the authorization token needed to execute the request using POST /auth/login. Obtain the project ID using GET /projects. Pass the authorization token and project ID in the request header. Pass the report ID and prompt identifier, such as the prompt key or ID, in the path of the request. Use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning results. The limit parameter specifies how many results to return. Use the searchPattern query parameter to define a search pattern to apply, such as Begins With or Exactly.",
        "operationId" : "getPromptAvailableObjects_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptIdentifier",
          "in" : "path",
          "description" : "Prompt key or ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 200",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 100
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "Search pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AvaliableAnswersForObjects"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/prompts" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the collection of prompts and their respective definitions from a report",
        "operationId" : "getPrompts_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "closed",
          "in" : "query",
          "description" : "Prompt status, true means get closed prompt, false means get open prompt",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PromptDefinition"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/prompts" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the collection of prompts and their respective definitions from a report instance. This endpoint will return data only when the report instance has prompt which need to be answered.",
        "operationId" : "getPromptsFromInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "closed",
          "in" : "query",
          "description" : "Prompt status, true means get closed prompt, false means get open prompt",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/PromptDefinition"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports/{reportId}/instances/{instanceId}/dataset" : {
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Replace datasource and either remove or replace attributes and metrics on report instance.",
        "description" : "Replace datasource and either remove or replace attributes and metrics on report instance. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID in the path of the request.",
        "operationId" : "manipulateReportDataset",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clearAlias",
          "in" : "query",
          "description" : "Clear the alias. Default value is false",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "clearFormat",
          "in" : "query",
          "description" : "Clear the formats. Default value is false",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "clearFilterSelection",
          "in" : "query",
          "description" : "Clear the filter selections. Default value is true.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "minimum" : 0,
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the report instance – such as attribute values, metric values, view filters, sorting criteria and properties.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReportReplaceObjectsInfo"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/reports" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get reports in a list format",
        "description" : "Get a list of report in a specific project that meet specific search criteria. You obtain the authorization token needed to execute the request using POST /auth/login. You identify the project by specifying the project ID in the request header; you obtain the project ID using GET /projects. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, a search searchPattern such as Begins With or Exactly, and the certified status of the reports. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "searchForReports",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "description" : "The value that the search searchPattern is set to. For example, if the search searchPattern is “Begins with”, this parameter would be the value that the search results would begin with; in this example, if this parameter were set to “B”, the search would return all results that begin with “B”. This parameter is used together with the searchPattern parameter.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "template",
          "in" : "query",
          "description" : "Search for reports templates only",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "visibility",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "string",
            "default" : "VISIBLE_AND_HIDDEN",
            "enum" : [ "DEFAULT", "VISIBLE_ONLY", "HIDDEN_ONLY", "VISIBLE_AND_HIDDEN" ]
          }
        }, {
          "name" : "getAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each report",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "searchPattern",
          "in" : "query",
          "description" : "The kind of search pattern that will be applied to the search. Possible search patterns include “Begins with”, “Begins with phrase”, “Contains”, “Exactly”, “Ends with”, “Contains any word”, and “None”. This parameter is used together with the name parameter.",
          "schema" : {
            "type" : "string",
            "default" : "CONTAINS_ANY_WORD",
            "enum" : [ "NONE", "CONTAINS_ANY_WORD", "BEGINS_WITH", "BEGINS_WITH_PHRASE", "EXACTLY", "CONTAINS", "ENDS_WITH" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "certifiedStatus",
          "in" : "query",
          "description" : "Define a search criteria of the certified status of the object",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Save the changes in the instance to report",
        "description" : "Save the changes in the instance to report",
        "operationId" : "saveReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Report save information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ReportSaveInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectIdAndInstanceId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/aiServer/connectionTest" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Test AI Server connection",
        "description" : "Test the connection between the REST Server and the AI Server. In the body parameter of the request, you specify the base URL for the AI Server and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server.",
        "operationId" : "createAiServerConnectionTest",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AiServerProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/collaboration/connectionTest" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Test Collaboration Server connection",
        "description" : "Test the connection between the REST Server and the Collaboration Server. In the body parameter of the request, you specify the base URL for the Collaboration Server and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server.",
        "operationId" : "createCollaborationConnectionTest",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollaborationConnectionTest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/iServer/connectionTest" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Test Intelligence Server connection",
        "description" : "Test the connection between the Intelligence Server and the REST Server. In the body parameter of the request, you specify the port and hostname of the Intelligence Server. Note that port should be changed when switching TLS enabled/disabled because connection is cached based on host/port",
        "operationId" : "createIServerConnectionTest",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerConnectionTest"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/iServer/trustRelationship" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Check for trust relationship between Web Server and Intelligence Server",
        "description" : "Check to see if there is a trust relationship between the Web Server and the Intelligence Server.",
        "operationId" : "getIServerTrustStoreRelationship_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IServerTrustRelationshipResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Create Trust Relationship between Web Server and Intelligence Server",
        "description" : "Set up a trust relationship between the Web Server and the Intelligence Server. You have two choices, 1) pass the authorization token in the request header, which means you have been certified by IServer. 2) pass the credentials JSON string (this JSON must has three properties, username、password and loginMode) in the request header to create a temporary IServer session for creating trust relationship. In both cases, you need to specify the URL or other unique identifier for the Web Server.",
        "operationId" : "createIServerTrustStoreRelationship_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-Cred",
          "in" : "header",
          "description" : "Username password credentials JSON string",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Trust relationship information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerTrustRelationshipRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Delete Trust Relationship between Web Server and Intelligence Server",
        "description" : "Delete a trust relationship between the Web Server and the Intelligence Server. You have two choices, 1) pass the authorization token in the request header, which means you have been certified by IServer. 2) pass the credentials JSON string (this JSON must has three properties, username、password and loginMode) in the request header to create a temporary IServer session for deleting trust relationship. deleteAll boolean parameter passed in body of the request, it defines if this operation will delete only current trust relationship if value is not provided or false, or all trust relationships saved on a server if value is true.",
        "operationId" : "deleteIServerTrustStoreRelationship_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-Cred",
          "in" : "header",
          "description" : "Username password credentials JSON string",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deleteAll",
          "in" : "query",
          "description" : "Delete all currently assigned trust relationship tokens",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get REST Server configuration settings",
        "description" : "Get configuration settings for the current REST Server, including settings for authentication, the Collaboration Server, Google Analytics, and the Intelligence Server.",
        "operationId" : "getRestServerSettings_1",
        "parameters" : [ {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RestServerProperties"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/security" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get relevant security setting info",
        "description" : "Get relevant information about security settings, such as whether the secret key used for signing the identity token was set in the configuration file. If it was not set properly, an exception will be triggered.",
        "operationId" : "getSecurityInfo_1",
        "parameters" : [ {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the rest server security settings",
        "description" : "Update the security settings. In the body of the request you can specify the secret key that will be used in identity token generation, whether to enable Corss Origin Resource Sharing (CORS), and whether to disable URL validation when specifying domains for CORS configuration.",
        "operationId" : "updateSecuritySettings_1",
        "requestBody" : {
          "description" : "Security Properties information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SecurityProperties"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/aiServer" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update AI Server configuration settings",
        "description" : "Update the AI Server configuration settings. In the body parameter of the request, you specify the base URL for the AI Server, whether the collaboration service is enabled, whether the comments or discussions service are enabled if the AI service is enabled, and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server.",
        "operationId" : "updateAiServerSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AiServerProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/auth" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update authentication configuration settings",
        "description" : "Update the authentication configuration settings for the current REST server. In the body parameter of the request, you specify the default authentication mode and the authentication modes that will be available to connect to an Intelligence Server.",
        "operationId" : "updateAuthSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AuthProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/collaboration" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Collaboration Server configuration settings",
        "description" : "Update the Collaboration Server configuration settings. In the body parameter of the request, you specify the base URL for the Collaboration Server, whether the collaboration service is enabled, whether the comments or discussions service are enabled if the collaboration service is enabled, and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server.",
        "operationId" : "updateCollaborationSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CollaborationProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/contentGroup" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Content Group configuration settings",
        "description" : "Update the Content Group configuration settings. In the body parameter of the request, you specify whether content group is enabled",
        "operationId" : "updateContentGroupSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ContentGroupProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/globalSearch" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Global Search configuration settings",
        "description" : "Update the Global Search configuration settings. In the body parameter of the request, you specify whether global search is enabled",
        "operationId" : "updateGlobalSearchSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GlobalSearchProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/iServer" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Intelligence Server configuration settings",
        "description" : "Update the Intelligence Server configuration settings. In the body parameter of the request, you specify the default port and hostname, the initial and max connection pool size, the request timeout, the number of reports/documents and searches that can be kept in memory, whether a trust relationship has been set with the Intelligence Server.",
        "operationId" : "updateIServerSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IServerProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/microStrategyWeb" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update MicroStrategy Web configuration settings",
        "description" : "Update the MicroStrategy Web configuration settings. In the body parameter of the request, you specify the base URL for the MicroStrategy Web Server",
        "operationId" : "updateMicroStrategyWebSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MicroStrategyWebProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/modelService" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update model Services configuration settings",
        "description" : "Update the model Services configuration settings. In the body parameter of the request, you specify the base URLs for model services and whether TLS (Transport Layer Security) secure communication is enabled. Enabling TLS requires configuring trust store settings on the REST Server.",
        "operationId" : "updateModelServiceSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ModelServicesProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/admin/restServerSettings/pluginSettings" : {
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update Plugin Settings configuration settings",
        "description" : "Update the Plugin Settings configuration settings. In the body parameter of the request, you specify whether plugin settings loadDynamically is enabled or not.",
        "operationId" : "updatePluginSettings_1",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PluginSettingsProperties"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/runtimes" : {
      "get" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Get all runtimes",
        "description" : "Get information for all runtimes.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header.",
        "operationId" : "listRuntimes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RuntimeDetailInfos"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Create a new runtime",
        "description" : "Create a new runtime with the whitelist, package, resource and other information. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. The response will contain the id for the newly created runtime, which can be used to obtain the new created runtime information using GET /runtimes/{id}.",
        "operationId" : "createScriptRuntime",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Runtime specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/RuntimeRequestInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created new runtime",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RuntimeDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/runtimes/{id}" : {
      "get" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Get single runtime information",
        "description" : "Get single runtime information. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify runtime ID in the path of the request, then you can obtain the runtime information about its base information (such as name, id and type), whitelist, packages, resource, etc.",
        "operationId" : "getScriptRuntime",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Runtime id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RuntimeDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Delete a runtime",
        "description" : "Delete a runtime in Metadata.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.You identify the runtime to delete by specifying the ID in the path of the request.",
        "operationId" : "deleteScriptRuntime",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Runtime id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Runtime is deleted)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Update information for a specific runtime",
        "description" : "Update information for a specific runtime with new name, whitelist, package, resource and other information. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the runtime to update by specifying the ID in the path of the request; You provide the information to update the runtime in the body parameter of the request.",
        "operationId" : "modifyScriptRuntime",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Runtime id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Runtime specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RuntimeRequestInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success (Runtime is modified)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/runtimes/versions" : {
      "get" : {
        "tags" : [ "Runtimes" ],
        "summary" : "Get runtime versions",
        "description" : "Get available runtime versions. ",
        "operationId" : "getRuntimeVersions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RuntimeVersions"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedules" : {
      "get" : {
        "tags" : [ "Schedules" ],
        "summary" : "List Schedules",
        "description" : "Get a list of all schedules that the authenticated user has access to. This endpoint returns the name, ID, and other information about schedules. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listSchedules",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Schedules"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Schedules" ],
        "summary" : "Create schedule",
        "description" : "Create a new schedule. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a schedule in the body parameter of the request. ",
        "operationId" : "createSchedule",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Schedule settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Schedule"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedules/{id}" : {
      "get" : {
        "tags" : [ "Schedules" ],
        "summary" : "Get schedule by ID",
        "description" : "Get information of a specific schedule by its ID. This endpoint returns the name, ID, and other information about the given schedule. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the schedule ID using GET /schedules. You pass the schedule ID in the path of the request. ",
        "operationId" : "getScheduleById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Schedule ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Schedules" ],
        "summary" : "Update schedule",
        "description" : "Update all of the information for a specific schedule. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the schedule ID using GET /schedules. You pass the schedule ID in the path of the request. You provide the information used to update the specific schedule in the body parameter of the request.",
        "operationId" : "updateSchedule",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Schedule ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Schedule settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Schedule"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScheduleV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Schedules" ],
        "summary" : "Remove schedule by ID",
        "description" : "Remove schedule by its id. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the schedule ID using GET /schedules. You remove the schedule by passing the schedule ID in the path of the request. ",
        "operationId" : "removeSchedule",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Schedule ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/schedules/results" : {
      "post" : {
        "tags" : [ "Schedules" ],
        "summary" : "List available schedules for specified contents",
        "description" : "Get a list of available schedules for a list of contents within given projects. This endpoint returns the ID and name of the available schedules. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token. You retrieve the available schedules list by specifying the list of contents (content ID, content type and project ID) in the request body.",
        "operationId" : "listSchedulesByContents",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed schedule information in the response",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includeExpired",
          "in" : "query",
          "description" : "Whether to include expired schedules in the response",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of contents",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleContentInfos"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimpleSchedules"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scopeFilters/{id}/folders" : {
      "get" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Get the folders that the specified scope filter is applied to.",
        "description" : "Get the folders that the specified scope filter is applied to.",
        "operationId" : "getScopeFilterFolders",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Scope filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FolderListDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Update the folders for a specific scope filter that applies to.",
        "description" : "Update the folders for a specific scope filter that applies to. Apply a scope filter to folders or revoke a scope filter from folders. Obtain the authorization token to execute the request using POST /auth/login and pass the authorization token in the request header. Identify the scope filter to update by specifying the scope filter ID in the path of the request. Then provide the information to update the scope filter in the body parameter of the request.",
        "operationId" : "updateScopeFilterFolders",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Scope filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Scope filter update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsScopeFilterPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsScopeFilterPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scopeFilters" : {
      "get" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Get a list of all scope filters for a project.",
        "description" : "Get a list of scope filters for a project. You obtain the authorization token needed to execute the request using POST /auth/login;You obtain the project ID using GET/projects. You pass the authorization token and the project ID in the request header. You can set the offset and limit for pagination function",
        "operationId" : "getScopeFilters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nameContains",
          "in" : "query",
          "description" : "Search for all scope filters which contain the given name.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScopeFilterListDto"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts" : {
      "get" : {
        "tags" : [ "Scripts" ],
        "summary" : "List scripts",
        "description" : "Fetch information for multiple script objects based on their IDs provided in the 'ids' query parameter. Currently only supports command manager script type (76).",
        "operationId" : "bulkReadScripts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ids",
          "in" : "query",
          "description" : "Comma-separated script IDs.  For example, \"14A01987E41944959FD2A0D74086E73E,7358B0B8264A4B6198520B2BC0B6248B\"",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptsInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Scripts" ],
        "summary" : "Create a new script",
        "description" : "Create a new script with specified name, description, folder, script type, script content. Script Content needs to be base64-encoded before passing as argument. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You can create a new script and specify the script name, description, stored folder, content type and content. The response will contain the id for the newly created script, which can be used to obtain the new created script info using GET /scripts/{id}. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "createCommandManagerScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/CommandManagerScriptRequestInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created new command manager script",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/evaluation/{evaluationId}" : {
      "get" : {
        "tags" : [ "Scripts" ],
        "summary" : "Get script or code evaluation result",
        "description" : "Get script or code evaluation result by the evaluation ID. For conversion jobs created by POST /scripts/conversion, the converted Python is returned directly in results.stdout when the evaluation succeeds.",
        "operationId" : "getCommandManagerScriptEvaluationStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "evaluationId",
          "in" : "path",
          "description" : "Script evaluation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptEvaluationResult"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Scripts" ],
        "summary" : "Cancel the script or code evaluation",
        "description" : "Cancel the script or code evaluation by the evaluation ID. ",
        "operationId" : "cancelCommandManagerScriptEvaluation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "evaluationId",
          "in" : "path",
          "description" : "Script evaluation ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/{id}" : {
      "get" : {
        "tags" : [ "Scripts" ],
        "summary" : "Get an single script info",
        "description" : "Get an single script info.You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify script id in the path of the request, then you can obtain the script information about its base info(such as name, id and type), script type and script content.",
        "operationId" : "getCommandManagerScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Scripts" ],
        "summary" : "Update information for a specific script",
        "description" : "Update information for a specific script with new name, description, folder, script type, script content. Script Content needs to be base64-encoded before passing as argument. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the script to update by specifying the script ID in the path of the request; you obtain the script id using GET /api/searches/results?name='xxx'&type=19456. You provide the information to update the script in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "modifyCommandManagerScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/CommandManagerScriptRequestInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success (Command Manager Script is modified)",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Scripts" ],
        "summary" : "Delete a script",
        "description" : "Delete a script in Metadata. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "deleteCommandManagerScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Command Manager Script is deleted)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/evaluation" : {
      "post" : {
        "tags" : [ "Scripts" ],
        "summary" : "Evaluate the script or arbitrary python code",
        "description" : "Execute script or code by providing the script content and runtime ID (optional). Script Content or code needs to be base64-encoded before passing as argument. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. This is an asynchronous request, you can get the evaluation id in the response and get the evaluation status using GET /scripts/evaluation/{evaluationId}. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "evaluateCommandManagerScript",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script evaluation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScriptEvaluationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskCreatedResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/{id}/evaluation" : {
      "post" : {
        "tags" : [ "Scripts" ],
        "summary" : "Evaluate the script",
        "description" : "Execute script by providing the script ID. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.This is an asynchronous request, you can get the evaluation id in the response, and get the evaluation status using GET /scripts/evaluation/{evaluationId}.Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "evaluateCommandManagerScriptWithId",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script variables",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SavedScriptEvaluationInfo"
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskCreatedResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/history" : {
      "get" : {
        "tags" : [ "Scripts" ],
        "summary" : "Get script last execution status",
        "description" : "Get last execution status for the specified script. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getScriptHistory",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scriptids",
          "in" : "query",
          "description" : "Comma-separated script IDs.  For example, \"14A01987E41944959FD2A0D74086E73E,7358B0B8264A4B6198520B2BC0B6248B\n\"",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptExecutionHistory"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scripts/{id}/variables/answers" : {
      "get" : {
        "tags" : [ "Scripts" ],
        "summary" : "Get answers to the variables of the script",
        "description" : "Get answers to the variables for the specified script. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "getScriptVariablesAnswer",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScriptVariableAnswers"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Scripts" ],
        "summary" : "Save the personal answers to the variables of the script",
        "description" : "Save personal answers to the variables for the specified script. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesUseScriptPython](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScriptPython) is required to invoke current api.",
        "operationId" : "saveScriptVariablesAnswer",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Script id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Script variables",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScriptVariableSimpleAnswers"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/searchEngine" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the search engine properties",
        "description" : "Get properties of the search engine. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. Following privilege: [DssXmlPrivilegesMonitorQuickSearchIndices](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorQuickSearchIndices) is required to invoke current api.",
        "operationId" : "getSearchEngine",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchEngine"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update the search engine properties",
        "description" : "Update all of the properties of the search engine.You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to update the properties in the body parameter of the request.Following privilege: [DssXmlPrivilegesMonitorQuickSearchIndices](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorQuickSearchIndices) is required to invoke current api.",
        "operationId" : "updateSearchEngine",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Search engine settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchEngine"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchEngine"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/searchEngine/indices/{projectId}" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the search index properties for a project",
        "description" : "Get properties of the search index for a specific project. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token in the request header. You retrieve the search index by specifying the project ID in the path of the request.",
        "operationId" : "getSearchIndex",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchIndex"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Change the search index status for a specific project",
        "description" : "Change the status of the search index for a specific project. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token in the request header. You retrieve the search index by specifying the project ID in the path of the request. You specify the type of the operation (Current supported operation types: rebuild) in the body parameter of the request.",
        "operationId" : "updateSearchIndex",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Change the search index status of a project",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchIndexOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchIndexOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/searchEngine/indices" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the search index properties for all projects",
        "description" : "Get properties of the search index for all projects. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "listSearchIndices",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchIndices"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/searchEngine/indices/query" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get the search index properties for the specific projects",
        "description" : "Get properties of the search index for the specific projects. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header.",
        "operationId" : "listSearchIndicesWithProjectIds",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mstr-http-method-override",
          "in" : "header",
          "description" : "Http Method Override",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Get the search index properties for the specific projects",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchIndicesRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchIndices"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searchObjects" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Post a new search object",
        "description" : "API to create a search object. Accepts the search options + search object name and location.",
        "operationId" : "createSearchObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This param represents the Search Object to be created by this method",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchObjectRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searchObjects/{searchObjectId}" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get object from based on ID",
        "operationId" : "getSearchObjectById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchObjectId",
          "in" : "path",
          "description" : "Search object ID to retrieve result from",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Browsing" ],
        "summary" : "Edit a search object",
        "description" : "API to update a search object.",
        "operationId" : "updateSearchObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID (Sets the context of the request; project, or configuration. For project objects it must be supplied, and for configuration level objects it's omitted)",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchObjectId",
          "in" : "path",
          "description" : "Search object ID to update results for",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSearchObjectPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSearchObjectPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searchObjects/{searchObjectId}/results" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get results from a search object using quick search",
        "description" : "Use an existing search object for Quick Search engine to return search results and display them as a list. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, the type of object, whether to return ancestors of the object, a search pattern such as Begins With or Exactly, and the certified status of the object being searched for. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "metadataSearchFromSearchObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchObjectId",
          "in" : "path",
          "description" : "Search object ID to retrieve result from",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 50
          }
        }, {
          "name" : "includeAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each object",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includeAcl",
          "in" : "query",
          "description" : "Specifies whether to return the list of ACL for each object",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "result.subtypes",
          "in" : "query",
          "description" : "This parameter is used to filter the objects in the result to include only the ones whose “subtype” is included in the values of this parameter",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/results" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get Quick Search results in a list format",
        "description" : "Use the stored results of the Quick Search engine to return search results and display them as a list. The Quick Search engine periodically indexes the metadata and stores the results in memory, making Quick Search very fast but with results that may not be the most recent. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the search criteria using query parameters in the request; criteria can include a list of root folder IDs, the type of object, whether to return ancestors of the object, a search pattern such as Begins With or Exactly, and the certified status of the object being searched for. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "doQuickSearch",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usesObjectId",
          "in" : "query",
          "description" : "Constrain the search to only return objects which use the given object.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usesObjectProjectId",
          "in" : "query",
          "description" : "The project ID of the given object.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usesObjectEmbedded",
          "in" : "query",
          "description" : "Whether the given object is embedded.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Value the search pattern is set to, which will be applied to the names of object types being searched. For example, search for all report objects (type) whose name begins with (pattern) B (name).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pattern",
          "in" : "query",
          "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 4
          }
        }, {
          "name" : "root",
          "in" : "query",
          "description" : "List of folder IDs of all the root folders where the search will be performed or excluded.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of object to be searched, such as Folder, Attribute or User. Possible values are defined in [EnumDSSObjectType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). To specify multiple types in API explorer, simply specify them with newline delimiter.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "viewMedia",
          "in" : "query",
          "description" : "ViewMedia of object to be searched, such as Dashboard(Dossier) or Document. Possible values are defined in [ViewMedia](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/ViewMedia.html). To specify multiple viewMedias in API explorer, simply specify them with newline delimiter.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project IDs where the search will be performed. X-MSTR-ProjectID will be ignored and isCrossCluster will be regarded as true if the project IDs are specified.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "getAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each object",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "certifiedStatus",
          "in" : "query",
          "description" : "Defines a search criteria based on the certified status of the object",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          }
        }, {
          "name" : "isCrossCluster",
          "in" : "query",
          "description" : "Perform search in all unique projects across the cluster, this parameter only takes affect for I-Server with cluster nodes.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "result.hidden",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "extraFilter",
          "in" : "query",
          "description" : "Specifies the extra filter that match the search criteria. Possible values: ALL (default, return all results), ENABLED_ONLY (return only enabled users/groups), SUPPORTED_REPORTS_IN_LIBRARY_ONLY (return only reports supported in Library), DISABLED_ONLY (return only disabled users), LIBRARY_WEB_REPORT_ONLY(return only reports supported in Library Web) .",
          "schema" : {
            "type" : "string",
            "enum" : [ "ALL", "ENABLED_ONLY", "SUPPORTED_REPORTS_IN_LIBRARY_ONLY", "DISABLED_ONLY", "LIBRARY_WEB_REPORT_ONLY" ]
          }
        }, {
          "name" : "owner.id",
          "in" : "query",
          "description" : "Owner",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "owner.id.set",
          "in" : "query",
          "description" : "Set of owner IDs",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "dbTypes",
          "in" : "query",
          "description" : "Types of Database to be searched, such as mysql, postgres, etc. Possible values are defined in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). To specify multiple db types in API explorer, simply specify them with newline delimiter.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "searchObjectIds",
          "in" : "query",
          "description" : "List of search object IDs to retrieve results from",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "query",
          "in" : "query",
          "description" : "Combined, multi column query (name and desc)",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "description",
          "in" : "query",
          "description" : "The description search query",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "beginModificationTime",
          "in" : "query",
          "description" : "Objects modification time range start in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endModificationTime",
          "in" : "query",
          "description" : "Objects modification time range end in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "beginCreationTime",
          "in" : "query",
          "description" : "Objects creation time range start in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endCreationTime",
          "in" : "query",
          "description" : "Objects creation time range end in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sortFields",
          "in" : "query",
          "description" : "Specify the sorting order for search results. Use + for ascending or - for descending, followed by a case-sensitive field name. Separate multiple fields with a single space to define multi-level sorting. Available fields: name, modifyTime, createTime, ownerName, CertifyState, projectID, score. Example: \"+name -modifyTime\" (sort by name ascending, then modifyTime descending).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "aiConsumable",
          "in" : "query",
          "description" : "Whether the object is ai consumable(certified)",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "managed",
          "in" : "query",
          "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
          "schema" : {
            "type" : "string",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        }, {
          "name" : "cubeInstanceInfo",
          "in" : "query",
          "description" : "Whether to include cube instance information like cube status",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "extraSearchResultFields",
          "in" : "query",
          "description" : "Extra object info to be included in the search result. Possible values are components, embeddedObjects, resolvedSubtype, groups, ddaSubMode, popularity, userCount, executionCount and dependentCount",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "resolveShortcut",
          "in" : "query",
          "description" : "Whether to resolve shortcuts in the search",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "cognitiveSearchFlags",
          "in" : "query",
          "description" : "List of Integers used as cognitive search flags to control the search behavior. The 1st bit of the 1st flag is to filter on resolved subtype.",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "tenantIds",
          "in" : "query",
          "description" : "List of Tenant IDs",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/dependents/count" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get Dependents Count",
        "description" : "Get the dependent count for the specified objects.",
        "operationId" : "getDependentCount",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mstr-http-method-override",
          "in" : "header",
          "description" : "Http Method Override",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Dependent Count Request Body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DependentCountParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchDependentCountResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/recommendation/models/attributeLinking" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get recommended models and attribute links from a candidate model list",
        "description" : "Get recommended models and attribute links from a candidate model list",
        "operationId" : "getRecommendedModelAttributeLinking",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID. Search against a specific project.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Model attribute linking search conditions",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ModelAttributeLinkingSearchParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/dependents/relationships/query" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get Used By Relationship",
        "description" : "Get the objects that are recursively used by specific objects.",
        "operationId" : "getRelationshipUsedBy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mstr-http-method-override",
          "in" : "header",
          "description" : "Http Method Override",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Used By Relationship Request Body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RelationshipUsedByParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchRelationshipUsedByResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/usergroups/{id}/members" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get user group member info",
        "description" : "Get member information for a specific user group.",
        "operationId" : "getUserGroupMembers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Value the search pattern is set to, which will be applied to the names of object types being searched. For example, search for all report objects (type) whose name begins with (pattern) B (name).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pattern",
          "in" : "query",
          "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 4
          }
        }, {
          "name" : "enabledStatus",
          "in" : "query",
          "description" : "Specifies whether to return only enabled users or all users and usergroups.",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "ENABLED_ONLY" ]
          }
        }, {
          "name" : "sortFields",
          "in" : "query",
          "description" : "Specify the sorting order for search results. Use + for ascending or - for descending, followed by a case-sensitive field name. Separate multiple fields with a single space to define multi-level sorting. Available fields: name, modifyTime, createTime, ownerName, CertifyState, projectID, score. Example: \"+name -modifyTime\" (sort by name ascending, then modifyTime descending).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "extraSearchResultFields",
          "in" : "query",
          "description" : "Extra object info to be included in the search result. Possible values are components, embeddedObjects, resolvedSubtype, groups, ddaSubMode, popularity, userCount, executionCount and dependentCount",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/UserEntityInfo"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/recommendation/models" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Recommend mosaic models",
        "description" : "Recommend mosaic models by conditions like name/description, attribute/metric name, folder name, owner name, etc.",
        "operationId" : "recommendModels",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mstr-http-method-override",
          "in" : "header",
          "description" : "Http Method Override",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Model recommendation conditions",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RecommendModelParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchIconResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/objects" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Utilize the Quick Search engine to fetch the object info of the specified object IDs.",
        "description" : "It accepts a list of object IDs and returns a list of object info from the Quick Search engine.",
        "operationId" : "searchObjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeAncestors",
          "in" : "query",
          "description" : "Specifies whether to return the list of ancestors for each folder",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "showNavigationPath",
          "in" : "query",
          "description" : "Specifies whether to return the mapped folder path instead of the physical path. Mapping is only supported for \"Shared Reports\" and \"My Reports\". This parameter is only applicable if includeAncestors=true.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of project IDs and object IDs",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SearchObjectParams"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/searches/suggestions" : {
      "get" : {
        "tags" : [ "Browsing" ],
        "summary" : "Get Search suggestions in a list format",
        "description" : "Use the stored results of the Search engine to return search suggestions and display them as a list.",
        "operationId" : "searchSuggestions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "key",
          "in" : "query",
          "description" : "Value the search pattern is set to, which will be applied to the names of suggestions being searched.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "count",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Minimum value: 1",
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32",
            "default" : 4
          }
        }, {
          "name" : "isCrossCluster",
          "in" : "query",
          "description" : "Perform search in all unique projects across the cluster, this parameter only takes affect for I-Server with cluster nodes.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchSuggestionsResult"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityFilters/{id}/members" : {
      "get" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Get the users and user groups that the specified security filter is applied to ",
        "description" : "Get the users and user groups that the specified security filter is applied to. ",
        "operationId" : "getSecurityFilterUsers_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsersAndGroupsInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Update members information for a specific security filter",
        "description" : "Updates members information for a specific security filter. Grants a security filter to users or user groups. Revokes a security filter from users or groups. Obtain the authorization token to execute the request using POST /auth/login and pass the authorization token in the request header. Identify the security filter to update by specifying the security filter ID in the path of the request. Then provide the information to update the security filter in the body parameter of the request.",
        "operationId" : "updatePartialSecurityFilter_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security filter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security filter update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityFilterPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityFilterPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityFilters" : {
      "get" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Get all list of security filter for a project.",
        "description" : "Get all list of security Filter for a project. You obtain the authorization token needed to execute the request using POST /auth/login;You obtain the project ID using GET/projects. You pass the authorization token and the project ID in the request header. You can set the offset and limit for pagination function",
        "operationId" : "getSecurityFilters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nameContains",
          "in" : "query",
          "description" : "Search for all security filters which contain the given name.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "includeHidden",
          "in" : "query",
          "description" : "Include hidden objects",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityFilter"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityRoles" : {
      "get" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Get info for all security roles",
        "description" : "Get information for all security roles. A security role describes the ability to do something, such as create, edit, add, delete, view, manage, save, search, share, export, and so on. A security role has a name, a description, and a privilege. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. The response includes the security role ID, which other endpoints use as a request parameter to specify the security role to perform an action on.",
        "operationId" : "getSecurityRoles",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includePrivileges",
          "in" : "query",
          "description" : "Specifies whether to include the privileges for all security roles",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SecurityRoleObject"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Create a specified security role",
        "description" : "Create a new security role. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You can create a new security role and specify the security role name, description, and assigned privileges. You can assign this created security role to users and usergroups for specific projects. The response will contain the id for the newly created security role, which can be used to obtain the new created security role info using GET /securityRoles/{id}. Following privilege: [DssXmlPrivilegesUseSecurityRoleManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSecurityRoleManager) is required to invoke current api.",
        "operationId" : "createSecurityRole",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security role specified information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/SecurityRoleConfig"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created new security role",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectId"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityRoles/{id}" : {
      "get" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Get information for a security role",
        "description" : "Get information for a security role with security role Id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify security role ID in the path of the request, then you can obtain the security role information about its base info(such as name, id and type), assigned privileges and assigned <project, members> relations info about assigning this created security role to user/userGroup in specified project.",
        "operationId" : "getSecurityRole",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityRoleDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Delete a security role",
        "description" : "Delete info for a security role with given Id. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You delete the security role using Delete /securityRoles/{id}. Following privilege: [DssXmlPrivilegesUseSecurityRoleManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSecurityRoleManager) is required to invoke current api.",
        "operationId" : "deleteSecurityRole",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success (Security Role is deleted)"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Update info for a specific security role",
        "description" : "Update information for a specific security role. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the security role to update by specifying the security role ID in the path of the request; you obtain the security role ID using GET /securityRoles. You provide the information to update the security role in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseSecurityRoleManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSecurityRoleManager) is required to invoke current api.",
        "operationId" : "updatePartialSecurityRole",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security role update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityRolePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityRolePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityRoleDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityRoles/{id}/projects/{projectId}/members" : {
      "get" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Get users and user groups linked to a security role",
        "description" : "Get all users and user groups that are linked to a specific security role. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the security role by specifying the security role ID in the path of the request; you obtain the security role ID using GET /securityRoles. You identify the project by specifying the project ID in the path of the request; you obtain the project ID using GET /projects. ",
        "operationId" : "getSecurityRoleMembers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "access",
          "in" : "query",
          "description" : "If you don't need the data in access field, set this field to false or you will get the full data",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/UserEntityInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityRoles/projects/{projectId}" : {
      "get" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Get security role memberships for a specific project",
        "description" : "Get users and groups that are assigned security roles in a specific project, along with the security roles assigned to each member. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the project by specifying the project ID in the path of the request; you obtain the project ID using GET /projects. The response describes project membership in terms of users/groups and their associated security roles.",
        "operationId" : "getSecurityRolesInProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ProjectSecurityRolesResponse"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/securityRoles/{id}/members" : {
      "patch" : {
        "tags" : [ "Security Roles" ],
        "summary" : "Update members of a specific security role",
        "description" : "Update the members (users and user groups) of a specific security role. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the security role to update by specifying the security role ID in the path of the request; you obtain the security role ID using GET /securityRoles. Only patch operations targeting the '/members' path are accepted. Following privilege: [DssXmlPrivilegesUseSecurityRoleManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSecurityRoleManager) is required to invoke current api.",
        "operationId" : "updateMembersSecurityRole",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Security role ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Security role update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityRolePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsSecurityRolePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurityRoleDetailInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions/privileges/{id}" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get information about a specific privilege for the authenticated user",
        "description" : "Get information about a specific privilege for the authenticated user. The response includes the name, ID, and description of the privilege and specifies which projects the privilege is valid for. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getSingleUserPrivilegeInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Privilege ID",
          "required" : true,
          "schema" : {
            "minimum" : 1,
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Privilege"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/sessions/privileges" : {
      "get" : {
        "tags" : [ "Authentication" ],
        "summary" : "Get list of privileges for the authenticated user",
        "description" : "Get the list of privileges for the authenticated user. The response includes the name, ID, and description of each privilege and specifies which projects the privileges are valid for. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getUserPrivilegeInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Privileges"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/storage/sharedFileStore/files" : {
      "get" : {
        "tags" : [ "Shared File Store" ],
        "summary" : "Query all shared files of a certain type ",
        "description" : "Query all shared files of a certain type for current user, it is paginated.",
        "operationId" : "getMigrationList_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Maximum value: 1000",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "The type of shared file which you want to query. Currently, only file type \"migrations.packages\" is supported that can be accessed by passing the value \"1\" for type.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Shared File Store" ],
        "summary" : "Create a file metadata",
        "description" : "Create a file metadata before uploading the file, which is stored in the storage service.",
        "operationId" : "createSharedFileMeta",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Meta info for the file.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SharedFileCreateDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SharedFileDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/storage/sharedFileStore/files/{fileId}" : {
      "delete" : {
        "tags" : [ "Shared File Store" ],
        "summary" : "Delete shared file.",
        "description" : "Shared file holder and the binary will be deleted. ",
        "operationId" : "deleteSharedFile",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fileId",
          "in" : "path",
          "description" : "The id of file to be deleted.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/storage/sharedFileStore/files/{fileId}/binary" : {
      "get" : {
        "tags" : [ "Shared File Store" ],
        "summary" : "Download a package binary",
        "description" : "Download a file binary. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header.You provide the ID of the file you want to download in the path of the request which can be obtained using POST /mstrServices/library/storage/sharedFileStore/files.",
        "operationId" : "downloadSharedFileBinary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fileId",
          "in" : "path",
          "description" : "File ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/octet-stream" : { }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Shared File Store" ],
        "summary" : "Upload a file binary to storage service directly.",
        "description" : "Upload a file binary data to storage service directly. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header.You provide the ID of the file you want to upload in the path of the request which can be obtained using POST /mstrServices/library/storage/sharedFileStore/files.",
        "operationId" : "uploadSharedFileBinary",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fileId",
          "in" : "path",
          "description" : "File ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "file" : {
                    "type" : "string",
                    "format" : "binary"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SharedFileDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/storage" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get storage configuration",
        "description" : "Get the storage type, location, and cloud storage configurations if using cloud storage",
        "operationId" : "getStorageDetail",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StorageConfigurationGetDto"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update storage configuration",
        "description" : "Update the storage type, location, and cloud storage configurations if using cloud storage. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "updateStorageDetail_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update the storage configuration.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StorageConfigurationPatchDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/mstrServices/library/storage/validation" : {
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Validate the storage configuration",
        "description" : "Validate the storage type, location, and cloud storage configurations if using cloud storage. Following privilege: [DssXmlPrivilegesAdministerEnvironment](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesAdministerEnvironment) is required to invoke current api.",
        "operationId" : "validateStorageDetail",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Validate the package storage configuration.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StorageConfigurationPatchDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "503" : {
            "description" : "Service Unavailable",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{id}/owner" : {
      "patch" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Change subscription owner",
        "description" : "Change the owner of the subscription. You obtain the authorization token needed to execute the request using POST /auth/login; You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You obtain the subscription ID using GET /subscriptions. You identify the subscription by specifying the subscription ID in the path of the request. You provide the new owner ID used to update the subscription in the request body.",
        "operationId" : "changeSubscriptionOwner",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The new owner's information. Owner ID must be provided. Note that the Owner Name is not required in the request body and we do not validate the name if provided.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Owner"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{subscriptionId}/content/{contentId}/instances" : {
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Create an instance to update prompt answer that is used to create a subscription for a prompted content",
        "description" : "Creates an instance for a given content of the subscription. This endpoint returns the ID, and status of the instance.This instance id is then used to update a subscription using PUT /subscriptions/{id}. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects.You pass the authorization token and the project ID in the request header. You identify the subscription by specifying the subscription ID in the path of the request; you obtain the subscription ID using GET /subscriptions/.you obtain the content ID using GET /subscriptions/ or GET /subscriptions/{subscriptionId}.",
        "operationId" : "createInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subscriptionId",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentId",
          "in" : "path",
          "description" : "Content ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Instance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List subscriptions",
        "description" : "Get a list of all subscriptions for a given project that the authenticated user has access to. User will get all the subscriptions from other users if the user has [DssXmlPrivilegesUseScheduleMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScheduleMonitor) or [DssXmlPrivilegesScheduleAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesScheduleAdministration) privilege. This endpoint returns the name, ID, and other information about Subscriptions. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "getSubscriptions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ClientVersion",
          "in" : "header",
          "description" : "Client version",
          "schema" : {
            "pattern" : "\\d{2}\\.(1[0-2]|0[1-9])",
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "deliveryModes",
          "in" : "query",
          "description" : "Delivery Modes, https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSubscriptionDeliveryType.html",
          "schema" : {
            "maximum" : 1015807,
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "lastRun",
          "in" : "query",
          "description" : "The last time that the subscription ran.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Subscriptions"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Create subscription",
        "description" : "Create a new subscription. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide the information used to create a subscription in the body parameter of the request. Current supported delivery types: EMAIL, CACHE, HISTORY_LIST, FTP, FILE, MOBILE. ",
        "operationId" : "createSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ClientVersion",
          "in" : "header",
          "description" : "Client version",
          "schema" : {
            "pattern" : "\\d{2}\\.(1[0-2]|0[1-9])",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Subscription settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Subscription"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Subscription"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{subscriptionId}/prompts" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get the collection of prompt definitions and answers",
        "description" : "Lists the collection of prompt definitions and answers customized for the given subscription or the child subscription identifier. The Child subscription identifier can be obtained by executing the request GET /subscriptions or GET /subscriptions/{id}.",
        "operationId" : "getPromptsSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subscriptionId",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PromptDefinitions"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/recipients/results" : {
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List available recipients in shared list",
        "description" : "Get a list of available recipients in shared list, for a list of content and delivery type, within a given project. This endpoint returns the name, ID, and other information about available recipients. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You retrieve the available recipient list by specifying delivery type in the path of the request, content ID and content type in the request body. Current supported delivery types are: EMAIL, FILE, PRINTER, HISTORY_LIST, CACHE, MOBILE, FTP. ",
        "operationId" : "getRecipientsSharedList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deliveryType",
          "in" : "query",
          "description" : "Delivery Type, supported delivery types are: EMAIL, FILE, PRINTER, HISTORY_LIST, CACHE, MOBILE, FTP, ONEDRIVE, SHAREPOINT, S3, GOOGLEDRIVE",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "EMAIL", "FILE", "PRINTER", "HISTORY_LIST", "CACHE", "MOBILE", "FTP", "ONEDRIVE", "SHAREPOINT", "S3", "GOOGLEDRIVE", "SNAPSHOT", "PERSONAL_VIEW", "SHARED_LINK", "UNSUPPORTED" ]
          }
        }, {
          "name" : "contactNamePattern",
          "in" : "query",
          "description" : "Search the contacts with name contain the pattern",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 500
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of contents",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimpleContentInfos"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Recipients"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{id}" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get subscription by ID",
        "description" : "Get information of a specific subscription for a given project. This endpoint returns the name, ID, and other information about the Subscription. You obtain the authorization token needed to execute the request using POST /auth/login you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You retrieve the subscription by specifying the subscription ID in the path of the request. You obtain the subscription ID using GET /subscriptions.",
        "operationId" : "getSubscriptionById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ClientVersion",
          "in" : "header",
          "description" : "Client version",
          "schema" : {
            "pattern" : "\\d{2}\\.(1[0-2]|0[1-9])",
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Subscription"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Update subscription",
        "description" : "Update all of the information for a specific subscription. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the subscription by specifying the subscription ID in the path of the request; you obtain the subscription ID using GET /subscriptions/. You provide the information used to update the subscription in the body parameter of the request.",
        "operationId" : "updateSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ClientVersion",
          "in" : "header",
          "description" : "Client version",
          "schema" : {
            "pattern" : "\\d{2}\\.(1[0-2]|0[1-9])",
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Subscription settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Subscription"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Subscription"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Remove(Unsubscribe) subscription by ID",
        "description" : "Remove(Unsubscribe) the subscription using subscription id. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You Remove(Unsubscribe) the subscription by specifying the subscription ID in the path of the request; You obtain the subscription ID using GET /subscriptions.",
        "operationId" : "removeSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Partially update subscription",
        "description" : "Partially update the information for a specific subscription. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the subscription by specifying the subscription ID in the path of the request; you obtain the subscription ID using GET /subscriptions/. You provide the information used to update the subscription in the body parameter of the request.",
        "operationId" : "patchSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Subscription settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionPatch"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{id}/status" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get subscription status by ID",
        "description" : "Get the subscription execution status. You obtain the authorization token needed to execute the request using POST /auth/login you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You retrieve the subscription by specifying the subscription ID in the path of the request. You obtain the subscription ID using GET /subscriptions.",
        "operationId" : "getSubscriptionStatusById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SubscriptionStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/query" : {
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List subscriptions cross multiple projects",
        "description" : "Get a list of all subscriptions for the given projects that the authenticated user has access to. If projects are not specified, the endpoint will return subscriptions from all projects that the user has access to. User will get all the subscriptions from other users if the user has [DssXmlPrivilegesUseScheduleMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseScheduleMonitor) or [DssXmlPrivilegesScheduleAdministration](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesScheduleAdministration) privilege. This endpoint returns the name, ID, and other information about Subscriptions. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "getSubscriptionsCrossProjects",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "mstr-http-method-override",
          "in" : "header",
          "description" : "Http Method Override",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deliveryModes",
          "in" : "query",
          "description" : "Delivery Modes, https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSubscriptionDeliveryType.html",
          "schema" : {
            "maximum" : 1015807,
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "lastRun",
          "in" : "query",
          "description" : "The last time that the subscription ran.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This parameter allows for more advanced options when querying subscriptions.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SubscriptionQueryRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Subscriptions"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/bursting" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "List bursting attribute information",
        "description" : "Get a list of available attributes for bursting feature, for a given content, within a given project. This endpoint returns the name, ID, and other information about available attributes. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You retrieve the available bursting attributes list by specifying content id and type in the path of the request. ",
        "operationId" : "listBurstingAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentId",
          "in" : "query",
          "description" : "Content ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "contentType",
          "in" : "query",
          "description" : "Bursting Content Type, supported content types are: report, document",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : "report",
            "enum" : [ "report", "document", "cube", "data_model", "dossier", "unsupported" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BurstingAttributes"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/recipients/personalAddresses" : {
      "get" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Get personal addresses",
        "description" : "Get a list of personal addresses for a specific delivery type. Currently we only support EMAIL, FILE, FTP and PRINTER delivery types. This endpoint returns the address name, address ID, physical address and other information of the current user's personal addresses. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You retrieve the personal addresses by specifying delivery type in the path of the request.",
        "operationId" : "listPersonalAddresses",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deliveryType",
          "in" : "query",
          "description" : "Delivery Type, supported delivery types are: EMAIL, FILE, FTP, PRINTER, ONEDRIVE, SHAREPOINT, S3, GOOGLEDRIVE",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "EMAIL", "FILE", "PRINTER", "HISTORY_LIST", "CACHE", "MOBILE", "FTP", "ONEDRIVE", "SHAREPOINT", "S3", "GOOGLEDRIVE", "SNAPSHOT", "PERSONAL_VIEW", "SHARED_LINK", "UNSUPPORTED" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PersonalAddresses"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/subscriptions/{id}/send" : {
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Send subscription",
        "description" : "Send the existing subscription immediately. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You obtain the project ID using GET /projects.You identify the project by specifying the project ID in the request; You identify the subscription by specifying the subscription ID in the request; you obtain the subscription ID using GET /subscriptions/. You provide the information to send the subscription ID in the path parameter of the request. If the content is prompted and user wants to update answers, user can answer prompts and then provide content id and instance id as body.",
        "operationId" : "sendSubscription",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This field is only applicable to prompted content. Provide Prompt information, to send subscription with personalized prompt answers. In case of no Prompt information, previous personalization will be used.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PromptInfo"
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tasks/{id}/activation" : {
      "post" : {
        "tags" : [ "Tasks" ],
        "summary" : "Activate a task",
        "description" : "Activate a task in a specific schedule. Also allow to update the expiration date if given the body.",
        "operationId" : "activateTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Task state info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TaskActiveStateRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Tasks" ],
        "summary" : "Deactivate a task",
        "description" : "Deactivate the target admin task",
        "operationId" : "deactivateTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tasks" : {
      "get" : {
        "tags" : [ "Tasks" ],
        "summary" : "Query tasks",
        "description" : "Query tasks with given type or scheduleId",
        "operationId" : "queryTasks",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Task type",
          "schema" : {
            "type" : "string",
            "enum" : [ "invalid", "workflow", "script" ]
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "allProjects",
          "in" : "query",
          "description" : "The flag for fetching tasks across all project levels and configuration level.",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskList"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Tasks" ],
        "summary" : "Create task",
        "description" : "Create a new task triggered by a schedule for a specific user.The content structure varies depending the task type. If the variables.type is Sensitive(\"4\"), the variables.value should be encrypted by RIPEMD160 algorithm. The variable enum is \n enum EnumVariableType {\n        Unknown(\"-1\"),\n        Reserved(\"0\"),\n        Text(\"1\"),\n        Numerical(\"2\"),\n        Date(\"3\"),\n        Sensitive(\"4\"),\n        DateTime(\"5\"),\n        SystemPrompt(\"4106\"),\n        TxnRowProvenance(\"32769\");\n}For script task, the content is {  \"objectId\": \"stringScriptObjId\",  \"variables\": [    {\"id\": \"id1\", \"value\": \"string\", \"type\": \"2\"},    {\"id\": \"id2\", \"value\": \"string2\", \"type\": \"4\"},}  ]}. For workflow task, the content is {  \"objectId\": \"stringWorkflowObjId\",  \"versionId\": \"string\",  \"entryProcessId\": \"string\",  \"variables\": [    { \"id\": \"idA\", \"value\": \"stringA\", \"type\": \"2\"},    { \"id\": \"idB\", \"value\": \"stringB\",\"type\": \"4\"}  ],  \"description\": \"string\",  \"expiredOn\": 0}. ",
        "operationId" : "createTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Task info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TaskRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tasks/{id}" : {
      "get" : {
        "tags" : [ "Tasks" ],
        "summary" : "Query task",
        "operationId" : "queryTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Tasks" ],
        "summary" : "Modify task",
        "description" : "Modify a specific task with the full definition of the task. The content structure varies depending the task type. If the variables.type is Sensitive(\"4\"), the variables.value should be encrypted by RIPEMD160 algorithm. The variable enum is \n enum EnumVariableType {\n        Unknown(\"-1\"),\n        Reserved(\"0\"),\n        Text(\"1\"),\n        Numerical(\"2\"),\n        Date(\"3\"),\n        Sensitive(\"4\"),\n        DateTime(\"5\"),\n        SystemPrompt(\"4106\"),\n        TxnRowProvenance(\"32769\");\n}For script task, the content is {  \"objectId\": \"stringScriptObjId\",  \"variables\": [    {\"id\": \"id1\", \"value\": \"string\", \"type\": \"2\"},    {\"id\": \"id2\", \"value\": \"string2\", \"type\": \"4\"},}  ]}. For workflow task, the content is {  \"objectId\": \"stringWorkflowObjId\",  \"versionId\": \"string\",  \"entryProcessId\": \"string\",  \"variables\": [    { \"id\": \"idA\", \"value\": \"stringA\", \"type\": \"2\"},    { \"id\": \"idB\", \"value\": \"stringB\",\"type\": \"4\"}  ],  \"description\": \"string\",  \"expiredOn\": 0}. ",
        "operationId" : "modifyTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Task info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TaskRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Tasks" ],
        "summary" : "Delete task",
        "description" : "Delete a specific task triggered by specific schedule in a specific project;if you do not specify a project ID, you delete task for configuration.",
        "operationId" : "deleteTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/tasks/{id}/trigger" : {
      "post" : {
        "tags" : [ "Tasks" ],
        "summary" : "Trigger task",
        "description" : "Trigger a specific task in a specific schedule.",
        "operationId" : "triggerTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scheduleId",
          "in" : "query",
          "description" : "Schedule ID which triggers the task",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TaskDTO"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/themes" : {
      "post" : {
        "tags" : [ "Themes" ],
        "summary" : "Create a new theme",
        "description" : "Create a new theme from template or from instance of dashboard(dossier)/report.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header.You provide the information used to create a theme in the body parameter of the request.Following privilege: [DssXmlPrivilegesUseFormattingEditor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseFormattingEditor) is required to invoke current api.",
        "operationId" : "createThemes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Theme creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ThemeCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectIdAndInstanceId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/themes/dossiers/{dossierId}/themeInstances/{instanceId}" : {
      "get" : {
        "tags" : [ "Themes" ],
        "summary" : "Get theme instance",
        "description" : "Get theme instance information.You obtain the authorization token needed to execute the request using POST /auth/login.You pass the authorization token in the request header.You provide the information used to create a theme in the body parameter of the request.",
        "operationId" : "getThemeInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierTreeDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/themes/dossiers/{dossierId}/instances/{instanceId}/saveAs" : {
      "post" : {
        "tags" : [ "Themes" ],
        "summary" : "Create a new theme",
        "description" : "Create a new theme from template or from instance of dashboard(dossier)/report. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a theme in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseFormattingEditor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseFormattingEditor) is required to invoke current api.",
        "operationId" : "saveThemes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Instance Id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Save theme info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ThemeSaveAsInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/transmitters" : {
      "get" : {
        "tags" : [ "Transmitters" ],
        "summary" : "List Transmitters",
        "description" : "Get a list of all transmitters that the authenticated user has access to. This endpoint returns the name, ID, and other information about transmitters. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listTransmitters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Transmitters"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Transmitters" ],
        "summary" : "Create transmitter",
        "description" : "Create a new transmitter. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a transmitter in the request body. ",
        "operationId" : "createTransmitter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Transmitter settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Transmitter"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Transmitter"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/transmitters/{id}" : {
      "get" : {
        "tags" : [ "Transmitters" ],
        "summary" : "Get transmitter by ID",
        "description" : "Get information of a specific transmitter by its ID. This endpoint returns the name, ID, and other information about the given transmitter. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the transmitter ID using GET /transmitters. You pass the transmitter ID in the path of the request. ",
        "operationId" : "getTransmitterById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Transmitter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Transmitter"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Transmitters" ],
        "summary" : "Update transmitter",
        "description" : "Update all of the information for a specific transmitter. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the transmitter ID using GET /transmitters. You pass the transmitter ID in the path of the request. You provide the information used to update the specific transmitter in the body parameter of the request.",
        "operationId" : "updateTransmitter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Transmitter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Transmitter settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Transmitter"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Transmitter"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Transmitters" ],
        "summary" : "Remove transmitter by ID",
        "description" : "Remove transmitter by its ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the transmitter ID using GET /transmitters. You remove the transmitter by passing the transmitter ID in the path of the request. ",
        "operationId" : "removeTransmitter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Transmitter ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/addresses" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get addresses for a specific user",
        "description" : "Get all of the addresses for a specific user. This API only supports EMAIL as the delivery type. Please use 'GET /api/v2/users/{id}/addresses' for all delivery types. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "getAddresses",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddress"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Create a user address",
        "description" : "Create a new address for a specific user. This API only supports EMAIL as the delivery type. Please use 'POST /api/v2/users/{id}/addresses' for all delivery types. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users. You provide the information used to create the new user address in the body parameter of the request - including the name and actual value for the address, whether it is the default address, and the type of delivery and content style.",
        "operationId" : "createNewAddress",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Address information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserAddressCreationInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddress"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for a set of users",
        "description" : "Get information for a specific set of users. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the set of users to be returned with query parameters that specify the characters that the user name or abbreviation must begin with. You can use other query parameters to limit the results that are returned by specifying a starting point within the results and the maximum number of results that should be returned.",
        "operationId" : "getUsers",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nameBegins",
          "in" : "query",
          "description" : "Characters that the user name must begin with.",
          "schema" : {
            "pattern" : ".{0,250}",
            "type" : "string"
          }
        }, {
          "name" : "abbreviationBegins",
          "in" : "query",
          "description" : "Characters that the user abbreviation must begin with.",
          "schema" : {
            "pattern" : ".{0,250}",
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "id",
          "in" : "query",
          "description" : "List of User ids",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BasicUserInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Create a user",
        "description" : "Create a new user. The response includes the user ID, which other endpoints use as a request parameter to specify the user to perform an action on. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information needed to create the new user in the body parameter of the request.",
        "operationId" : "createUser_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sourceUserId",
          "in" : "query",
          "description" : "Source user ID. A duplicate user will be created from this source user.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "User information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/UserCreationInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}/profile" : {
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Create a user profile ",
        "description" : "Create a profile of a specific user. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the user ID using GET /users. You pass the user ID in the path of the request. You provide the information used to update the user profile in the body parameter of the request. ",
        "operationId" : "createUserProfile",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This param represents the User Profile to be created by this method",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserProfileRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for a specific user",
        "description" : "Get information for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "getUser",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "User Management" ],
        "summary" : "Delete user for specific user id",
        "description" : "Delete user for specific user id. You obtain the authorization token needed to execute the request using POST /auth/login;you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request;you obtain the user ID using GET /users. ",
        "operationId" : "deleteUser",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Management" ],
        "summary" : "Update info for a specific user",
        "description" : "Update specific information for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users. You specify the type of update operation (add, replace or remove), provide the value to be used in the update operation, and specify the path to the target where the update operation will be performed, in the body parameter of the request.",
        "operationId" : "updatePartialUser",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "User update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}/addresses/{addressId}" : {
      "put" : {
        "tags" : [ "User Management" ],
        "summary" : "Update a user address",
        "description" : "Update a specific address for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user and the address by specifying the user ID and address ID in the path of the request; you obtain the user ID using GET /users. You provide the information used to update the user address in the body parameter of the request - including the name and actual value for the address, whether it is the default address, and the type of delivery and content style.",
        "operationId" : "updateUserAddresses",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "addressId",
          "in" : "path",
          "description" : "Address ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Address update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserAddressUpdateInfo"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddress"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "User Management" ],
        "summary" : "Delete a user address",
        "description" : "Delete a specific address for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user and the address by specifying the user ID and address ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "deleteUserAddress",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "addressId",
          "in" : "path",
          "description" : "Address ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/projects/{projectId}/quotas" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user data usage limit",
        "description" : "Get the data usage limit for users, either all users or a specific user, in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users. You identify the project by specifying the project ID in the path of the request; you obtain the project ID using GET /projects. A typical use case would be that an administrator has set a project-level limit of data, such as 10GB, for all users in a specific project and has also limited the data usage for specific users, for example to 5GB.",
        "operationId" : "getQuotaUsage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/QuotaUsage"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/projects/quotas" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user data usage limit",
        "description" : "Retrieve the data usage limits for a specific user across multiple projects.\nProvide the authorization token in the request header, obtained via POST /auth/login.\nSpecify the user ID in the path parameter and the project IDs as a query parameter.\nThis API is useful for administrators to view project-level data usage limits, such as a default limit for all users or specific limits for individual users.\n",
        "operationId" : "getQuotasUsage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectIds",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Quota"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/securityFilters" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get each project level security filter and its corresponding inherited security filter",
        "description" : "Get each project level security filter and its corresponding inherited security filter. Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getSecurityFilterUsers_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projects.id",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserSecurityFilter"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}/systemprompts" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get system prompts for a specific user",
        "description" : "Get all of the system prompts for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "getSystemPrompts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SystemPromptsDTO"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Update system prompts for a specific user",
        "description" : "Update all of the system prompts for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "updateSystemPrompts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This param represents the System Prompts to be updated by this method",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SystemPromptsDTO"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/SystemPromptsDTO"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/memberships" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for direct user groups",
        "description" : "Get information for the direct user groups that a specific user belongs to. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users. Following privileges: [DssXmlPrivilegesConfigureGroupMembership](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGroupMembership) and [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) are required to invoke current api.",
        "operationId" : "getUserParents",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/privileges" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user's privileges",
        "description" : "Get user's privileges of a project including the source of the privileges.Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getUserPrivileges",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "privilege.level",
          "in" : "query",
          "description" : "Project Level Privilege",
          "schema" : {
            "type" : "string",
            "enum" : [ "project", "server" ]
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserFullPrivileges"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}/quota" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get the quota for a free trial user.",
        "description" : "Get the quota for a free trial user. This api is only apply to saas-trial deployment. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users.",
        "operationId" : "getUserQuota",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/UserQuota"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Management" ],
        "summary" : "Update the quota for a free trial user.",
        "description" : "Update the quota for a free trial user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; You specify the type of update operation (replace only for this patch REST API), provide the value to be used in the update operation, and specify the path to the target where the update operation will be performed, in the body parameter of the request.",
        "operationId" : "updateUserQuota",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Quota information to update",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserQuotaPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserQuotaPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}/securityRoles" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get security roles for a specific user",
        "description" : "Get all of the security roles for a specific user in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user by specifying the user ID in the path of the request; you obtain the user ID using GET /users. You identify the project by specifying the project ID as a query parameter; you obtain the project ID using GET /projects.Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getUserSecurityRoles",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BasicSecurityRole"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{id}/settings" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get the Setting for the user such as job level governing limit.",
        "operationId" : "getUserSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The user id of the governing setting",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Management" ],
        "summary" : "Set the settings for the user such as job level governing setting for the user.",
        "operationId" : "patchUserSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update user settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserSettingsUpdate"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserSettingsUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for all user groups",
        "description" : "Get information for a specific set of user groups or all user groups. You can refine the set of user groups that are returned with a query parameter that specifies the characters that the user group name must begin with; if you omit the nameBegins query parameter, all user groups are returned. You can limit the results that are returned with two query parameters. The offset parameter specifies the location in the list of users groups to begin returning results and the limit parameter specifies the maximum number of matching user groups that can be returned; if you set the limit parameter to -1, all results are returned (subject to Governing settings). The total count of results returned is included in the response header as \"x-mstr-total-count\". You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getUserGroups",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nameBegins",
          "in" : "query",
          "description" : "Characters that the name must begin with",
          "schema" : {
            "pattern" : ".{0,250}",
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Used to control paging behavior. Use -1 for no limit (subject to Governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Create a user group",
        "description" : "Create a new user group. The response includes the usergroup ID, which other endpoints use as a request parameter to specify the user group to perform an action on. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You provide the information to create the user group in the body parameter of the request - including the name and description of the user group, the IDs of parent user groups, and the IDs of child users or user groups.",
        "operationId" : "createUserGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeMembersAndMemberships",
          "in" : "query",
          "description" : "Specifies whether to include members and memberships of the usergroup",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "User group information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/UsergroupCreationInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsergroupInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user group info",
        "description" : "Get information for a specific user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups.",
        "operationId" : "getUserGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeMembersAndMemberships",
          "in" : "query",
          "description" : "Specifies whether to include members and memberships of the usergroup",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsergroupInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "User Management" ],
        "summary" : "Update user group info",
        "description" : "Update all of the information for a specific user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups. You provide the information used to update the user group in the body parameter of the request - including name, description, parent user group, and member user groups.",
        "operationId" : "updateUserGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "User group update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/UserGroupUpdateInfo"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "User Management" ],
        "summary" : "Delete specific user group",
        "description" : "Delete user group for specific user group id. You obtain the authorization token needed to execute the request using POST /auth/login;you pass the authorization token in the request header. You identify the user by specifying the user group ID in the path of the request;you obtain the user ID using GET /usersgroups. ",
        "operationId" : "deleteUserGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "204" : {
            "description" : "No Content",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Management" ],
        "summary" : "Update specific info for a user group",
        "description" : "Update specific information for a specific user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups. You specify the type of update operation (add, replace or remove), provide the value to be used in the update operation, and specify the path to the target where the update operation will be performed, in the body parameter of the request. Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "updatePartialUser_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeMembersAndMemberships",
          "in" : "query",
          "description" : "Specifies whether to include members and memberships of the usergroup",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update operation information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserGroupPatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsUserGroupPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsergroupInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/securityFilters" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get each project level security filter and its corresponding inherited security filter",
        "description" : "Get each project level security filter and its corresponding inherited security filter. Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getSecurityFilterUsers_3",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projects.id",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserSecurityFilter"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/topLevel" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get info for top-level user groups",
        "description" : "Get information for all of the user groups that exist at the level of the MicroStrategy Everyone user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getTopLevelUsergroups",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilter",
          "in" : "query",
          "description" : "Specifies whether to return security filter information",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior. Default is 0.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "sortFields",
          "in" : "query",
          "description" : "Specify the sorting order for search results. Use + for ascending or - for descending, followed by a case-sensitive field name. Separate multiple fields with a single space to define multi-level sorting. Available fields: name, modifyTime, createTime, ownerName, CertifyState, projectID, score. Example: \"+name -modifyTime\" (sort by name ascending, then modifyTime descending).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ObjectInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/members" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user group member info",
        "description" : "Get member information for a specific user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups. You use the includeAccess query parameter to specify whether to list the security roles the user group is a member of and the projects the user group is a member of for each security role.You use flatMembers query parameter to specify whether to flat the members to user level.",
        "operationId" : "getUserGroupMembers_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilter",
          "in" : "query",
          "description" : "Specifies whether to return security filter information",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "includeAccess",
          "in" : "query",
          "description" : "Specifies whether to return access for members",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "flatMembers",
          "in" : "query",
          "description" : "Specifies whether to flatten the members to user level",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/UserEntityInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/privileges" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user group's privileges and its source for a project",
        "description" : "Get user group's privileges and its source for a project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups. You identify the project by specifying the project ID in the request query; you obtain the project ID using GET /projects.Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getUserGroupPrivileges",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "privilege.level",
          "in" : "query",
          "description" : "Project Level Privilege",
          "schema" : {
            "type" : "string",
            "enum" : [ "project", "server" ]
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserFullPrivileges"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/settings" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get the Setting for the user group such as job level governing limit.",
        "operationId" : "getUserGroupSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The user group id of the governing setting",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserGroupSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Management" ],
        "summary" : "Set the settings for the user group such as job level governing setting for the user group.",
        "description" : "Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "patchUserGroupSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The user group id of the governing setting",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Update the governing setting of the user group id",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserGroupSettingsUpdate"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserGroupSettingsUpdate"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/securityRoles" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get user group security roles",
        "description" : "Get security roles for a specific user group in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups. You identify the project by specifying the project ID in the request query; you obtain the project ID using GET /projects. Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getUserSecurityRoles_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/BasicSecurityRole"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/usergroups/{id}/memberships" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get parent user group info",
        "description" : "Get information for the user group that is the direct parent of a specific user group. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You identify the user group by specifying the usergroup ID in the path of the request; you obtain the usergroup ID using GET /usergroups.",
        "operationId" : "getUsergroupParents",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Usergroup ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/UsergroupInfo"
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults" : {
      "get" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "getVaults",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultConnections"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "createVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "vault body",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/VaultConnectionCreation"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultConnection"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults/{id}" : {
      "get" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "getVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultConnection"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "deleteVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "updateVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsVaultConnectionPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultConnection"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults/{id}/status" : {
      "get" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "getVaultConnectionStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultConnectionStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults/{id}/secrets/{secretName}" : {
      "get" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "getVaultSecret",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "secretName",
          "in" : "path",
          "description" : "vault secret name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultSecrets"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        },
        "deprecated" : true
      }
    },
    "/api/iserver/vaults/{id}/secrets/fetch" : {
      "post" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "getVaultSecrets",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VaultSecretsFetchCondition"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/VaultSecrets"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults/{id}/test" : {
      "patch" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "testUpdatedVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "vault id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsVaultConnectionPatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/iserver/vaults/test" : {
      "post" : {
        "tags" : [ "Vault Connection Management" ],
        "operationId" : "validateVault",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/VaultConnectionCreation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/webSettings/trustRelationships" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get a list of trust relationships",
        "description" : "Get a list of web server trust relationships. This endpoint retrieves all configured trust relationships for the web server. You obtain the authorization token needed to execute the request using POST /auth/login.",
        "operationId" : "getTrustRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TrustRelationshipsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Manage trust relationships",
        "description" : "Manage trust relationships by performing operations (delete, enable, or disable). This endpoint allows you to perform multiple operations on trust relationships in a single request. You obtain the authorization token needed to execute the request using POST /auth/login.",
        "operationId" : "manageTrustRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Trust relationship operations request with array of web server URL and operation pairs",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TrustRelationshipRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TrustRelationshipOperationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/bots/{botId}/columns" : {
      "get" : {
        "tags" : [ "Agent" ],
        "summary" : "Get the available columns of a agent.",
        "description" : "Get the available columns of a agent.",
        "operationId" : "getBotColumns",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "botId",
          "in" : "path",
          "description" : "Agent ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/BotV2ColumnsDto"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/changeJournal" : {
      "post" : {
        "tags" : [ "Change Journal" ],
        "summary" : "Create and store a Change Journal search instance (V2).",
        "description" : "Create and store a Change Journal search instance for row-based format. Following privilege: [DssXmlPrivilegesMonitorChangeJournal](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorChangeJournal) is required to invoke current api.",
        "operationId" : "createChangeJournalSearch_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Change Journal Search info (V2 with object filtering)",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangeJournalSearchInfoV2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChangeJournalSearchInstance"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/changeJournal/{searchId}" : {
      "get" : {
        "tags" : [ "Change Journal" ],
        "summary" : "Get Change Journal search result in row-based format.",
        "description" : "Get Change Journal search result using the new row-based XML format. Each row represents a single change to a specific object with embedded object details. The response includes an X-MSTR-Total-Count header with the total number of available results. Following privilege: [DssXmlPrivilegesMonitorChangeJournal](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesMonitorChangeJournal) is required to invoke current api.",
        "operationId" : "getChangeJournalRowSearchResult",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "searchId",
          "in" : "path",
          "description" : "Search ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Minimum value: 1, maximum value: 100",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 100
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ChangeJournalSearchResultV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/caches/contents" : {
      "patch" : {
        "tags" : [ "Monitors" ],
        "summary" : "Alter multiple content cache statuses or remove content caches entirely in multiple projects at specific node",
        "description" : "Alter multiple content cache statuses or remove content caches entirely in multiple projects at specific node. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Provide the information to update or remove content caches in PATCH operation objects.Note: Second parameter in path of PATCH operation object is the combined id which consist of {cacheInstanceId}:{contentType}:{projectID} respectively encoded in base 64.",
        "operationId" : "alterContentCache_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "clusterNode",
          "in" : "query",
          "description" : "Intelligence Server cluster node name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Content caches update/remove information.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentCachePatchOperation"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsContentCachePatchOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/cubes" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Create a cube definition",
        "description" : "Create an Intelligent cube",
        "operationId" : "createCube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the cube basic info - such as cube name, cube description, cube location folder, allow overwrite or not; and the objects included in the cube definition – such as attributes objects, metrics objects, and report filters. In the attribute object, to specify the attribute forms, you can add the \"forms\" field whose value is an array of form objects. A form object is an object like {\"id\": \"45C11FA478E745FEA08D781CEA190FE5\"}",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigCreateCube"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/instances" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Create a new cube instance",
        "description" : "Create a new instance of a specific cube or Mosaic data model. This in-memory instance can be used by other requests. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request. You use the offset and limit query parameters in the request to determine the data displayed on the page; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return. In the body parameter of the request, you specify the data to be included in the instance, such as attributes, metrics, view filter, metric limits, and sorting criteria.",
        "operationId" : "createCubeInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras'. ",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the instance – such as attribute values, metric values, view filters, metric limits, and sorting criteria.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigRequestedObjectsSortingConfig"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/instances/{instanceId}/status" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the status of a specific cube instance",
        "description" : "Get the status of a previously created instance of a specific cube or Mosaic data model. This endpoint returns the current status along with the associated job ID if the instance is still processing. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID and the cube instance ID in the path of the request.",
        "operationId" : "getCubeInstanceStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Cube instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/powerBiDataSource" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the Power BI .pbip folder for cube by cube ID",
        "description" : "Get the Power BI .pbip folder for cube by cube ID. Following privilege: [?](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseApplicationPowerBI) is required to invoke current api.",
        "operationId" : "getCubePowerBIDataSource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "url",
          "in" : "query",
          "description" : "token url",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportSqlView"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized"
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/sqlView" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the SQL view of cube by cube ID",
        "description" : "Get the SQL view of cube or Mosaic data model by Cube ID. Following privilege: [DssXmlPrivilegesWebReportSQL](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) is required to invoke current api.",
        "operationId" : "getCubeSqlView",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportSqlView"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized"
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/tableauDataSource" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the Tableau .tds file for cube by cube ID",
        "description" : "Get the Tableau .tds file of cube by Cube ID. Following privilege: [?](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) is required to invoke current api.",
        "operationId" : "getCubeTableauDataSource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "url",
          "in" : "query",
          "description" : "Public Facing Library URL",
          "schema" : {
            "type" : "string",
            "default" : ""
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportSqlView"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized"
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get a cube definition",
        "description" : "Get the definition of a specific cube, including attributes and metrics. The cube can be either an OLAP Cube or a Direct Data Access (DDA)/MDX cube. The in-memory cube definition provides information about all available objects without actually running any data query/report. The results can be used by other requests to help filter large datasets and retrieve values dynamically, helping with performance and scalability. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request.",
        "operationId" : "getDefinition_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Cubes" ],
        "summary" : "Update a cube definition",
        "description" : "Update an Intelligent cube",
        "operationId" : "updateCube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the objects included in the cube definition – such as attribute objects, metric objects, and report filters. In the attribute object, to specify the attribute forms, you can add the \"forms\" field whose value is an array of form objects. A form object is an object like {\"id\": \"45C11FA478E745FEA08D781CEA190FE5\"}",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigUpdateCube"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Publish a cube",
        "description" : "Publish a specific cube in a specific project. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID in the path of the request; you obtain the cube ID using GET /cubes. Note that this is to publish Intelligent cube or MTDI cube without interaction",
        "operationId" : "publishCube_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/cubes/{cubeId}/instances/{instanceId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the results of a specific cube instance",
        "description" : "Get the normalized JSON structure result supporting cross-tab of a previously created instance of a specific cube or Mosaic data model, using the in-memory instance created by a POST /cubes/{cubeId}/instances request.\n You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the cube ID and the cube instance ID in the path of the request. You use the offset and limit query parameters in the request to determine the data displayed on the page; the offset parameter specifies where to start returning results, and the limit parameter specifies how many results to return.",
        "operationId" : "getReport_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Cube instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras'. ",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK, with result in response body of JSON data V2 format"
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportInstanceStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/devices" : {
      "get" : {
        "tags" : [ "Devices" ],
        "summary" : "Get the list of devices",
        "description" : "Get a list of all devices that the authenticated user has access to. This endpoint returns the name, ID, and other information about devices. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You specify the type of device as query parameter. Default value is all",
        "operationId" : "getDevices_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "deviceType",
          "in" : "query",
          "description" : "Device type, Supported values are: email, file, ftp, printer, ipad, iphone, android, onedrive, sharepoint, s3, googledrive, all.",
          "schema" : {
            "type" : "string",
            "enum" : [ "email", "ftp", "file", "printer", "iphone", "ipad", "android", "onedrive", "sharepoint", "s3", "googledrive", "all", "unsupported" ]
          }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed information about each device",
          "schema" : {
            "type" : "boolean",
            "default" : true
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Devices"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Devices" ],
        "summary" : "Create device",
        "description" : "Create a new device. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You provide the information used to create a device in the request body. Following privilege: [DssXmlPrivilegesUseTransmitterDeviceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseTransmitterDeviceManager) is required to invoke current api.",
        "operationId" : "createDevice",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Device Configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Device"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Device"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "501" : {
            "description" : "Not Implemented",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/devices/{id}" : {
      "get" : {
        "tags" : [ "Devices" ],
        "summary" : "Get a specific device given its id ",
        "description" : "Get information of a specific device by its ID. This endpoint returns the name, ID, and other information about the given device. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the device ID using GET v2/devices. You pass the device ID in the path of the request. ",
        "operationId" : "getDevice_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Device ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Device"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Devices" ],
        "summary" : "Update device",
        "description" : "Update all of the information for a specific device. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the device ID using GET /devices. You pass the device ID in the path of the request. You provide the information used to update the specific device in the body parameter of the request.Following privilege: [DssXmlPrivilegesUseTransmitterDeviceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseTransmitterDeviceManager) is required to invoke current api.",
        "operationId" : "updateDevice",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Device ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Device Configuration",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Device"
                }, {
                  "type" : "object",
                  "properties" : {
                    "changeJournal" : {
                      "type" : "object",
                      "properties" : {
                        "userComments" : {
                          "type" : "string",
                          "description" : "Change journal user comments"
                        }
                      },
                      "description" : "Change Journal"
                    }
                  }
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Device"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "501" : {
            "description" : "Not Implemented",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Devices" ],
        "summary" : "Delete device by ID",
        "description" : "Delete device by ID. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the Device id using GET /v2/devices. You delete the device by passing the device id in the path of the request. Following privilege: [DssXmlPrivilegesUseTransmitterDeviceManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseTransmitterDeviceManager) is required to invoke current api.",
        "operationId" : "deleteDevice",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Device ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userComments",
          "in" : "query",
          "description" : "Change journal user comments",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/devices/{id}/buckets" : {
      "get" : {
        "tags" : [ "Devices" ],
        "summary" : "List buckets of a S3 device ",
        "description" : "Get a list of buckets under a specific S3 device by its ID. This endpoint returns the name, ID, and other information about the folders. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the device ID using GET v2/devices. You pass the device ID in the path of the request. ",
        "operationId" : "getDeviceBuckets",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Device ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Device"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/dossiers/{dossierId}/instances/{instanceId}/themes/{themeId}" : {
      "post" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Apply theme to a dashboard(dossier) instance.",
        "description" : "Apply theme to a dashboard(dossier) instance. This request returns the tree structure of the dashboard(dossier) - root chapters, current chapter, pages, in-canvas/chapter-level selectors,visualization as filter, dataset infos and visualizations, You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier) by specifying the dashboard(dossier) ID in the path of the request; you can get the dashboard(dossier) instance id through API POST /dossiers/{id}/instances.",
        "operationId" : "applyTheme",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Instance Id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "themeId",
          "in" : "path",
          "description" : "Theme Id",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/dossiers/{dossierId}/definition" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the hierarchy of a dashboard(dossier)",
        "description" : "Get the hierarchy of a specific dashboard(dossier) including with crossTab in visualization in a specific project. A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. This request returns the tree structure of the dashboard(dossier) - root, chapters, current chapter, pages, in-canvas/chapter-level selectors,visualization as filter, dataset infos and visualizations. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier) by specifying the dashboard(dossier) ID in the path of the request; you are using the document/dashboard(dossier) ID that was generated by another API.",
        "operationId" : "getVisualizationList_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierTreeDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/dossiers/{dossierId}/instances/{instanceId}/definition" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the hierarchy of a dashboard(dossier) from the instance",
        "description" : "Get the hierarchy of a specific dashboard(dossier) in a specific project from instance. This API is specifically work to get dashboard(dossier) definition for the prompts which has no default answers.This request returns the tree structure of the dashboard(dossier) - root chapters, current chapter, pages, in-canvas/chapter-level selectors,visualization as filter, dataset infos and visualizations, You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier) by specifying the dashboard(dossier) ID in the path of the request; you can get the dashboard(dossier) instance id through API POST /dossiers/{id}/instances.",
        "operationId" : "getVisualizationList_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Dashboard(Dossier) instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DossierTreeDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/dossiers/{dossierId}/instances/{instanceId}/chapters/{chapterKey}/visualizations/{visualizationKey}" : {
      "get" : {
        "tags" : [ "Dashboards(Dossiers) and Documents" ],
        "summary" : "Get the definition and data result of a grid/graph visualization",
        "description" : "Get the definition and data result of a grid/graph visualization in a specific dashboard(dossier) in a specific project. A dashboard(dossier) and a document have the same base object; a dashboard(dossier) is simply a different view of the document. You obtain the authorization token needed to execute the request using POST /auth/login and the project ID using GET /project; you pass the authorization token and the project ID in the request header. You identify the dashboard(dossier), the dashboard(dossier) instance, the dashboard(dossier) chapter, and the dashboard(dossier) visualization in the path of the request, by specifying the IDs of the dashboard(dossier) and dashboard(dossier) instance and the keys of the chapter and visualization.  You are using the document/dashboard(dossier) ID that was generated by another API. You obtain the dashboard(dossier) instance ID using POST /dossiers/{dossierId}/instances. You obtain the dashboard(dossier) chapter key and the dashboard(dossier) visualization key using GET /dossiers/{dossierId}/definition.  It is important to note that concurrent behavior on one dashboard(dossier) instance ID is not currently supported; instead, you can create multi-instance IDs to perform concurrent behavior.",
        "operationId" : "getVisualizationResult_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dossierId",
          "in" : "path",
          "description" : "Dashboard(Dossier) ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Dashboard(Dossier) instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "chapterKey",
          "in" : "path",
          "description" : "Chapter key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visualizationKey",
          "in" : "path",
          "description" : "Visualization key",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "columnOffset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior at column direction.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "columnLimit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior at column direction. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras' for a normal grid visualization, and '-data.metricValues.columnSets.raw' / '-data.metricValues.columnSets.formatted' / '-data.metricValues.columnSets.extras' for a compound grid visualization. ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "includeValidPageByCombinations",
          "in" : "query",
          "description" : "Whether to include valid page by combinations information in the report result. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/emails" : {
      "post" : {
        "tags" : [ "Emails" ],
        "summary" : "Send an email",
        "description" : "Sends an email to specified recipients with the provided content and configuration",
        "operationId" : "sendEmails_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Email info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/EmailSendRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/historyList/bulk" : {
      "post" : {
        "tags" : [ "History List" ],
        "summary" : "Bulk send to history list",
        "description" : "Add multiple documents or reports to history list",
        "operationId" : "bulkSendToHistoryList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of objects to send to history list",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkSendToHistoryRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultiStatusResponse"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/historyList" : {
      "get" : {
        "tags" : [ "History List" ],
        "summary" : "Get history list",
        "description" : "Get messages from history list",
        "operationId" : "getHistoryList_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "History list retrieval scope, single_user or all_users",
          "schema" : {
            "type" : "string",
            "enum" : [ "single_user", "all_users", "single_library_user" ]
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "description" : "Field to filter on project ID of the job",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "targetInfo.name",
          "in" : "query",
          "description" : "Name of history list message target object, used for filtering as 'contains'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "targetInfo.objectId",
          "in" : "query",
          "description" : "ID of history list message target object",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "messageDisplayName",
          "in" : "query",
          "description" : "Message Display Name",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ownerId",
          "in" : "query",
          "description" : "Message Owner ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "targetInfo.objectCreator",
          "in" : "query",
          "description" : "Name of object creator",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the content cache.\n",
          "schema" : {
            "type" : "string",
            "enum" : [ "report", "document", "dossier" ]
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Message status",
          "schema" : {
            "type" : "string",
            "enum" : [ "msg_id", "result", "prompt_xml", "error_msg_xml", "job_running", "in_sql_engine", "in_query_engine", "in_analytical_engine", "in_resolution", "waiting_for_cache", "updating_cache", "waiting", "waiting_on_governor", "waiting_for_project", "waiting_for_children", "preparing_output", "construct_result", "html_result", "xml_result", "running_on_other_node", "loading_prompt", "in_export_engine", "need_to_get_results", "user_request_async_export", "user_requested_object_deleted_from_md" ]
          }
        }, {
          "name" : "readStatus",
          "in" : "query",
          "description" : "Message read status",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "applicationType",
          "in" : "query",
          "description" : "Application type",
          "schema" : {
            "type" : "string",
            "enum" : [ "reserved", "office", "server_admin", "server", "project_upgrade", "dss_web", "dss_scheduler", "custom_app", "narrowcast_server", "object_manager", "odbo_provider", "odbo_cube_designer", "command_manager", "enterprise_manager", "command_line_interface", "project_builder", "configuration_wizard", "md_scan", "cache_utility", "fire_event", "java_desktop", "web_services", "office_ws", "tools", "portal", "tester", "md_update", "combrowser", "mobile", "bulk_translation_tool", "health_center", "cube_advisor", "one_tier", "dossier_web", "dossier_mobile", "workstation", "library_mobile_android", "tableau", "qlik", "power_bi", "microsoft_office", "hyper_browser_chrome", "hyper_mobile_ios", "hyper_mobile_android", "hyper_office_outlook_web", "hyper_office_outlook_windows", "hyper_office_outlook_mac", "hyper_office_outlook_ios", "hyper_office_outlook_android", "hyper_voice_alexa", "hyper_messaging_slack", "hyper_desktop_mac", "hyper_desktop_windows", "hyper_sdk", "hyper_screen_apple_tv", "hyper_screen_fire_tv", "hyper_screen_android_tv", "jupyter", "rstudio", "product_01", "product_02", "product_03", "product_04", "product_05", "product_06", "python" ]
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/HistoryListMessages"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/iserver/fences" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get details of all existing user and workload fences.",
        "description" : "Get information on existing fences. Detailed information on a specific fence, can be obtained by calling GET /iserver/fences/{id}. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "getFences_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FencesWithIds"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "System Administration" ],
        "summary" : "Create a new user or workload fence.",
        "description" : "Create a new user or workload fence across nodes. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "createFence_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FenceCreationBody"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FenceDetailedWithId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/iserver/fences/{id}" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get detailed information on a specific fence.",
        "description" : "Get detailed information on a fence. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "getFence_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Fence ID",
          "required" : true,
          "schema" : {
            "pattern" : "[A-Za-z0-9+/=]{1,}",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FenceDetailedWithId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "System Administration" ],
        "summary" : "Delete a user or workload fence.",
        "description" : "Delete an existing fence. Get a list of existing fences by calling GET /iserver/fences. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "deleteFence_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Fence ID",
          "required" : true,
          "schema" : {
            "pattern" : "[A-Za-z0-9+/=]{1,}",
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update an existing user or workload fence.",
        "description" : "Update a list of existing fences by calling GET /iserver/fences. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesUseClusterMonitor](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "updateFence_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Fence ID",
          "required" : true,
          "schema" : {
            "pattern" : "[A-Za-z0-9+/=]{1,}",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Request body",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsFencePatchBody"
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchOperationsFencePatchBody"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FenceDetailedWithId"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/iserver/settings" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get server settings",
        "description" : "You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesConfigureGoverning](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGoverning) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "getIserverSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : {
                    "maxUsedVirtualByte" : {
                      "value" : 100
                    },
                    "workSetSwapPath" : {
                      "value" : ".\\TmpPool"
                    },
                    "ignoreGovernorOnChild" : {
                      "value" : true
                    }
                  }
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update server settings",
        "description" : "You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesConfigureGoverning](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGoverning) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "setAllIserverSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Content-Type",
          "in" : "header",
          "description" : "Content-Type",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Server settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/IserverSettingValue"
                },
                "example" : {
                  "maxUsedVirtualByte" : {
                    "value" : 100
                  },
                  "workSetSwapPath" : {
                    "value" : ".\\TmpPool"
                  },
                  "ignoreGovernorOnChild" : {
                    "value" : true
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success(The Server Setting is modified)"
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/results"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "System Administration" ],
        "summary" : "Update server settings",
        "description" : "You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. Following privileges: [DssXmlPrivilegesConfigureGoverning](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGoverning) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "setIserverSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Server settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/IserverSettingValue"
                },
                "example" : {
                  "maxUsedVirtualByte" : {
                    "value" : 100
                  },
                  "workSetSwapPath" : {
                    "value" : ".\\TmpPool"
                  },
                  "ignoreGovernorOnChild" : {
                    "value" : true
                  }
                }
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/IserverSettingValue"
                },
                "example" : {
                  "maxUsedVirtualByte" : {
                    "value" : 100
                  },
                  "workSetSwapPath" : {
                    "value" : ".\\TmpPool"
                  },
                  "ignoreGovernorOnChild" : {
                    "value" : true
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : {
                    "maxUsedVirtualByte" : {
                      "value" : 100
                    },
                    "workSetSwapPath" : {
                      "value" : ".\\TmpPool"
                    },
                    "ignoreGovernorOnChild" : {
                      "value" : true
                    }
                  }
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/results"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/iserver/settings/config" : {
      "get" : {
        "tags" : [ "System Administration" ],
        "summary" : "Get server settings config information",
        "description" : "For each setting, we provide different basic information to help client to render the settings. Following privileges: [DssXmlPrivilegesConfigureGoverning](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGoverning) and [DssXmlPrivilegesConfigureServerBasic](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) are required to invoke current api.",
        "operationId" : "getIserverSettingsProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : "{\n    \"maxUserConnectionPerServer\": {\n        \"type\": \"number\",\n        \"max_value\": 1000,\n        \"min_value\": 0,\n        \"multi_select\": false,\n        \"options\": [\n            {\n                \"name\": \"No Limit\",\n                \"value\": -1\n            }\n        ]\n    },\n    …\n}"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/library" : {
      "get" : {
        "tags" : [ "Library" ],
        "summary" : "Get the library for the authenticated user",
        "description" : "Get the library including content groups for the authenticated user. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You use the outputFlag query parameter to specify what to include in or filter out of the library. If you choose DEFAULT, everything is included; if you choose FILTER_TOC, the chapters and pages are not included.",
        "operationId" : "getLibraryV2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "outputFlag",
          "in" : "query",
          "description" : "Specify what should be included or filtered out of the library output. DEFAULT = include everything, FILTER_TOC = filter out chapters and pages, INCLUDE_CONTENT_GROUPS = include the content groups",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "DEFAULT", "FILTER_TOC", "INCLUDE_BUNDLES", "INCLUDE_CONTENT_GROUPS", "INCLUDE_CHATBOTS", "INCLUDE_BOOKMARKS", "INCLUDE_TEMPLATE_INFO", "INCLUDE_ACG_INFO", "INCLUDE_CHATBOTS_CONFIGS" ]
            }
          }
        }, {
          "name" : "applicationId",
          "in" : "query",
          "description" : "Application ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/LibraryContent"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Library" ],
        "summary" : "Publish one or more documents or reports.",
        "description" : "Publish one or more documents or reports to users or user groups. This makes the documents and reports available in the library of each user they are published to. You can publish a report, document or an instance of a document; you can publish a report/document to any user, but you can only publish an instance to the current user. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You provide information about the documents to be published in the body parameter of the request; this includes the reports, documents or instances to be published and the users they will be published to.",
        "operationId" : "publishObject_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Document or Report Information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PublishRequestV2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PublishRequestV2Status"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/metadataSearches/results" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Search the metadata and store an instance of search results",
        "description" : "Search the metadata for objects in a specific project that match specific search criteria, and save the results in IServer memory. Saving the results in memory supports incremental fetch by other requests. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the search criteria using query parameters in the request; criteria can include the root folder ID, the search domain, the type of object, and a search pattern such as Begins With or Exactly. The response includes an instance ID for the search results stored in memory, which can be used as the search ID by other requests.",
        "operationId" : "createSearch_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Value the search pattern is set to, which will be applied to the names of object types being searched. For example, search for all report objects (type) whose name begins with (pattern) B (name).",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "pattern",
          "in" : "query",
          "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 4
          }
        }, {
          "name" : "domain",
          "in" : "query",
          "description" : "Domain where the search will be performed, such as Local or Project. Possible values are defined in [EnumDSSXMLSearchDomain](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchDomain.html).",
          "schema" : {
            "type" : "integer",
            "format" : "int64",
            "default" : 2
          }
        }, {
          "name" : "scope",
          "in" : "query",
          "description" : "Search scope, which corresponds to a value from [EnumDSSXMLSearchScope](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchScope.html).",
          "schema" : {
            "type" : "string",
            "default" : "managed",
            "enum" : [ "reserved", "standalone", "managed", "rooted", "unrooted", "all" ]
          }
        }, {
          "name" : "root",
          "in" : "query",
          "description" : "Folder ID of the root folder where the search will be performed.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Type of object to be searched, such as Folder, Attribute or User. Possible values are defined in  EnumDSSXMLObjectTypes(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "subtype",
          "in" : "query",
          "description" : "Subtype of object to be searched, such as Folder, Attribute or User. Possible values are defined in EnumDSSXMLObjectSubtypes(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubtypes.html).",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "extendedType",
          "in" : "query",
          "description" : "Extended type of object to be searched. Possible values are defined in EnumDSSXMLExtendedType(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference//com/microstrategy/webapi/EnumDSSXMLExtendedType.html).",
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "name" : "usesObject",
          "in" : "query",
          "description" : "Constrain the search to only return objects which use the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "uses",
          "in" : "query",
          "description" : "Restrict the search to return only objects that use the specified subtype. You cannot set the same subtype for both 'uses' and 'not uses'.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "notUses",
          "in" : "query",
          "description" : "Restrict the search to return only objects that DO NOT use the specified subtype. You cannot set the same subtype for both 'uses' and 'not uses'.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "usesRecursive",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that use the given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usesOneOf",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that use one of or all of given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usedByObject",
          "in" : "query",
          "description" : "Constrain the search to only return objects which are used by the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "usedBy",
          "in" : "query",
          "description" : "Restrict the search to return only objects that are used by the specified subtype. You cannot set the same subtype for both 'used by' and 'not used by'.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "notUsedBy",
          "in" : "query",
          "description" : "Restrict the search to return only objects that are not used by the specified subtype. You cannot set the same subtype for both 'used by' and 'not used by'.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "usedByRecursive",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that are used by the given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "usedByOneOf",
          "in" : "query",
          "description" : "Control the Intelligence server to also find objects that are used by one of or all of given objects indirectly. Default value is false.",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "beginModificationTime",
          "in" : "query",
          "description" : "Objects creation or modification time range start in ISO8601 format: yyyy-MM-dd'T'HH:mm:ssZ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "endModificationTime",
          "in" : "query",
          "description" : "Objects creation or modification time range end in ISO8601 format: yyyy-MM-dd'T'HH:mm:ssZ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "visibility",
          "in" : "query",
          "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied.",
          "schema" : {
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "ALL", "VISIBLE" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This parameter allows for more advanced search options when creating the Metadata Search Object.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MetadataSearchObjectRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginableInstanceCreationInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/cancelJobs" : {
      "post" : {
        "tags" : [ "Monitors" ],
        "summary" : "Cancel active job instances on specific intelligence server node",
        "description" : "Cancel active job instances on specific intelligence server node. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You specify the user connection ids in the body of the request.",
        "operationId" : "bulkDeleteJobs_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "List of active jobs",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JobIdList"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobCancellationStatus"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobCancellationStatus"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobCancellationStatus"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/jobs/{id}" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get detailed information on a specific active job.",
        "description" : "Get detailed level information on a specific active job. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getJob",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the job",
          "required" : true,
          "schema" : {
            "pattern" : "^\\d+:[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobDetailedInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Monitors" ],
        "summary" : "Cancel active jobs",
        "description" : "Cancel active jobs on a specific server node. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "deleteJob_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the job",
          "required" : true,
          "schema" : {
            "pattern" : "^\\d+:[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/jobs/{id}/queries" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get information on all queries consuming a specific active realtime job.",
        "description" : "Get information on all queries consuming a specific active job. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the Job ID in the path of the request.",
        "operationId" : "getJobQueries",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the job",
          "required" : true,
          "schema" : {
            "pattern" : "^\\d+:[-a-zA-Z0-9_]*={0,3}",
            "type" : "string"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Specify sorting criteria, for example '+status' means sorting status in ascending order or '-user' means sorting user in descending order. Currently, the server supports sorting only by single field. For this endpoint, valid sorting properties are: \n- jobId\n - type\n - status\n - user\n - description\n - objectType\n - objectId\n - subscriptionType\n - processingUnitPriority\n - creationTime\n - completedTasks\n - projectId\n - projectName\n - subscriptionRecipient\n - memoryUsage\n - elapsedTime\n - source\n - server\n - clientMachine",
          "schema" : {
            "pattern" : "^([+\\-])(jobId|type|status|user|description|objectId|objectType|subscriptionType|processingUnitPriority|creationTime|completedTasks|projectId|projectName|subscriptionRecipient|memoryUsage|elapsedTime|source|server|clientMachine)",
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobQueries"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/jobs" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get information on all active jobs on a specific iServer node.",
        "description" : "Get information on all active jobs on a specific iServer node. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify the iServer name you want to connect to. Use GET /api/monitors/iServer/nodes to get valid node name",
        "operationId" : "getJobs_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectName",
          "in" : "query",
          "description" : "Field to filter on project name",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "puName",
          "in" : "query",
          "description" : "Field to filter on PU name",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "browsing", "resolution", "query_execution", "analytical", "sql_engine", "data_formatting", "ncs", "rest_script_evaluation", "rest_asynchronous", "unknown_pu" ]
            }
          }
        }, {
          "name" : "subscriptionType",
          "in" : "query",
          "description" : "Field to filter on subscription type",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "reserved", "email", "file", "printer", "custom", "inbox", "client", "cache", "mobile", "blackberry", "iphone", "ipad", "campaign", "snapshot", "ftp", "android", "kpi", "onedrive", "sharepoint", "s3", "googledrive", "last_one", "count", "all", "all_including_snapshot" ]
            }
          }
        }, {
          "name" : "subscriptionRecipient",
          "in" : "query",
          "description" : "Field to filter on subscription recipient",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "status",
          "in" : "query",
          "description" : "Field to filter on status of the job",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "ready", "executing", "waiting", "completed", "error", "canceling", "stopped", "waiting_on_governor", "waiting_for_autoprompt", "waiting_for_project", "waiting_for_cache", "waiting_for_children", "waiting_for_results", "loading_prompt", "resolving_destination", "delivering", "exporting", "cache_ready", "waiting_for_di_file", "waiting_for_conflict_resolve", "step_pausing" ]
            }
          }
        }, {
          "name" : "type",
          "in" : "query",
          "description" : "Field to filter on type of job",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "interactive", "subscription", "predictive_cache", "realtime" ]
            }
          }
        }, {
          "name" : "user",
          "in" : "query",
          "description" : "Field to filter on full name of the user",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "objectId",
          "in" : "query",
          "description" : "Field to filter on object ID of the job",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }, {
          "name" : "objectType",
          "in" : "query",
          "description" : "Field to filter on object type of the job",
          "schema" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "report", "cube", "dossier", "document", "dashboard", "others" ]
            }
          }
        }, {
          "name" : "description",
          "in" : "query",
          "description" : "Field to filter on description of job",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "memoryUsage",
          "in" : "query",
          "description" : " Field to filter on the job memory consumption, for example 'gt:100' means filtering jobs with memoryUsage greater than 100 bytes. Valid operators are:\n * `gt` - greater than or equal\n * `lt` - less than",
          "schema" : {
            "pattern" : "lt:\\d+|gt:\\d+",
            "type" : "string"
          }
        }, {
          "name" : "elapsedTime",
          "in" : "query",
          "description" : "Field to filter on the job elapsed time, for example 'gt:100' means filtering jobs with elapsedTime greater than 100 milliseconds.\n Valid operators are:\n* `gt` - greater than \n * `lt` -  less than",
          "schema" : {
            "pattern" : "lt:\\d+|gt:\\d+",
            "type" : "string"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Specify sorting criteria, for example '+status' means sorting status in ascending order or '-user' means sorting user in descending order. Currently, the server supports sorting only by single field. For this endpoint, valid sorting properties are: \n- jobId\n - type\n - status\n - user\n - description\n - objectType\n - objectId\n - subscriptionType\n - processingUnitPriority\n - creationTime\n - completedTasks\n - projectId\n - projectName\n - subscriptionRecipient\n - memoryUsage\n - elapsedTime\n - source\n - server\n - clientMachine",
          "schema" : {
            "pattern" : "^([+\\-])(jobId|type|status|user|description|objectId|objectType|subscriptionType|processingUnitPriority|creationTime|completedTasks|projectId|projectName|subscriptionRecipient|memoryUsage|elapsedTime|source|server|clientMachine)",
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior.\n\n    Maximum value: 1000\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.\n\n    Minimum value: 0\n",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JobInfosV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/monitors/processingUnitDump" : {
      "get" : {
        "tags" : [ "Monitors" ],
        "summary" : "Get detailed information on a specific active job.",
        "description" : "Get detailed level information on a specific active job. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header.",
        "operationId" : "getProcessingUnitDump",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "nodeName",
          "in" : "query",
          "description" : "Node Name",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PuInfo"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/projects" : {
      "post" : {
        "tags" : [ "Projects" ],
        "summary" : "Create project for authenticated user",
        "description" : "Create a new project, either synchronously or asynchronously. It can take several minutes to create a project. To fetch the actual project information, you need to poll using GET projects/{name}. You obtain the authorization token needed to execute the request using POST /auth/login; you pass the authorization token in the request header. You specify whether to make the call synchronously or asynchronously in the request header. You provide the project name in the body parameter of the request.",
        "operationId" : "createProject_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Project creation info",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectCreationInfo"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "headers" : {
              "Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectCreationResponse"
                }
              }
            }
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "headers" : {
              "Location" : {
                "style" : "simple",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/projects/{projectId}/settings/config" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get project settings configurations",
        "description" : "Get project settings configurations. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "getServerSettingProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : "{\n   'settingName 1': {\n     'value': {}\n   },\n   ...,\n   'settingName n': {\n     'value': {}\n   }\n}"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/projects/{projectId}/settings" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get project settings",
        "description" : "Get project settings. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. This operation requires the \"Configure server basic\" and \"Configure project basic\" privileges. The `level` parameter has 2 values, \"normal\" and \"admin\". \"admin\" is the default value and is used for users with \"Configure server basic\" and \"Configure project basic\" privileges to get all project settings. \"normal\" is used for users without specified privileges, only 4 settings are supported currently, it's only used in certain situations. The `fields` parameter has 4 values, which are \"defaultTimezone, warehouseDataLocale, defaultDossierTemplate, enableTimezone.\", used to get settings with keys. It only works under \"normal\" level. By default the response body contains \"defaultTimezone, warehouseDataLocal\". If either \"defaultDossierTemplate, enableTimezone\" is specified in the parameter, then the user session needs extra READ access to project definition.",
        "operationId" : "getServerSettings_3",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "level",
          "in" : "query",
          "description" : "Object model level",
          "schema" : {
            "type" : "string",
            "default" : "admin"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Project setting keys for normal level",
          "schema" : {
            "type" : "string",
            "default" : "defaultTimezone,warehouseDataLocale"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : "{\n   'settingName 1': {\n     'value': {}\n   },\n   ...,\n   'settingName n': {\n     'value': {}\n   }\n}"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Update all project settings",
        "description" : "Update all project settings. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "setAllServerSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Project settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/ProjectSettingProperty"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Success"
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultiStatusResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Projects" ],
        "summary" : "Update project settings",
        "description" : "Update some project settings. You obtain the authorization token needed to execute the request using POST /auth/login. You obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header.",
        "operationId" : "setServerSettings_2",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Project settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/ProjectSettingProperty"
                }
              }
            },
            "application/json-patch+json" : {
              "schema" : {
                "type" : "object",
                "additionalProperties" : {
                  "$ref" : "#/components/schemas/ProjectSettingProperty"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string",
                  "example" : "{\n   'settingName 1': {\n     'value': {}\n   },\n   ...,\n   'settingName n': {\n     'value': {}\n   }\n}"
                }
              }
            }
          },
          "207" : {
            "description" : "Partial success for multiple resources",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultiStatusResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/reports/{reportId}/instances" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Create a report instance and get the results or status",
        "description" : "Get the normalized JSON structure results supporting cross-tab of a newly created report instance. This in-memory report instance can be used by other requests.\n You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID in the path of the request. You use the offset and limit query parameters in the request to determine the report data displayed on the page. In the body parameter of the request, you specify the data to be included in the report instance, such as attributes, metrics, view filter, metric limits, and sorting criteria.",
        "operationId" : "createReportInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "The execution stage the report is executed to. Available values: resolve_prompts, execute_data.",
          "schema" : {
            "type" : "string",
            "default" : "execute_data"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras'. ",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "applyViewFilterBeforeCreation",
          "in" : "query",
          "description" : "Apply the view filter at the instance creation stage, which helps reduce the amount of data fetched and improves performance.",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the report instance – such as attribute values, metric values, view filters, and sorting criteria.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RequestConfigRequestedObjectsSortingConfig"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK, with result in response body of JSON data V2 format"
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportInstanceStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/reports/{reportId}/instances/{instanceId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the results of a report instance",
        "description" : "Get the results of a previously created report instance, using the in-memory report instance created by a POST /reports/{reportId}/instances request.\n You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID and report instance ID in the path of the request. You use the offset and limit query parameters in the requestto determine the report data displayed on the page.",
        "operationId" : "executeReport_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Prefer--allow client to set preferences. Currently, respond-async allows client to execute in async mode",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras'. ",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK, with result in response body of JSON data V2 format"
          },
          "202" : {
            "description" : "Request accepted for processing.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportInstanceStatus"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Update report instance do manipulations like changing template, view filters, metric limits and  sorting on top of the instance",
        "description" : "Do manipulations on top of the specified instance",
        "operationId" : "manipulateReportInstance_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "standardDateFormat",
          "in" : "query",
          "description" : "Standard date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "standardRawDateFormat",
          "in" : "query",
          "description" : "Standard raw date format in ISO8601",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Field selector. This allows client to exclude unneeded information from response model. It can be either empty, or a combination of following exclusion rules separated by comma: '-data.metricValues.raw' / '-data.metricValues.formatted' / '-data.metricValues.extras'. ",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Values used to determine the data included in the report instance – such as attribute values, metric values, view filters, sorting criteria and properties.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReportInstanceUpdateInfo"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Report"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/reports/{reportId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get a report definition",
        "description" : "Get the definition of a specific report, including attributes and metrics. This in-memory report definition provides information about all available objects without actually running any data query/report. The results can be used by other requests to help filter large datasets and retrieve values dynamically, helping with performance and scalability. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID in the path of the request.",
        "operationId" : "getDefinition_3",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/reports/{reportId}/instances/{instanceId}/pageBy/elements" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get available pageBy elements of the report.",
        "description" : "Get the valid pageBy elements combinations of the report. These combinations could be used to jump to a specific page of the report.",
        "operationId" : "getPageByElements",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK, with result in response body of JSON data V2 format"
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/reports/{reportId}/instances/{instanceId}/sqlView" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the SQL view of a report instance",
        "description" : "Get the SQL view of a previously created report instance, using the in-memory report instance created by a POST /reports/{reportId}/instances request.\n You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the report ID and report instance ID in the path of the request. Following privilege: [DssXmlPrivilegesWebReportSQL](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) is required to invoke current api.",
        "operationId" : "getReportSqlView_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID or cube ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Report instance ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ReportSqlView"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/schedules" : {
      "get" : {
        "tags" : [ "Schedules" ],
        "summary" : "List Schedules",
        "description" : "Get a list of all schedules that the authenticated user has access to. This endpoint returns the name, ID, and other information about schedules. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. ",
        "operationId" : "listSchedules_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned results. Used to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 500
          }
        }, {
          "name" : "includeHidden",
          "in" : "query",
          "description" : "Include hidden objects",
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SchedulesV2"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/searches/results" : {
      "post" : {
        "tags" : [ "Browsing" ],
        "summary" : "Fetch Quick Search results in a list format",
        "description" : "Use the stored results of the Quick Search engine to return search results and display them as a list. The Quick Search engine periodically indexes the metadata and stores the results in memory, making Quick Search very fast but with results that may not be the most recent. You obtain the authorization token needed to execute the request using POST /auth/login; you obtain the project ID using GET /projects. You pass the authorization token and the project ID in the request header. You specify the search criteria using query parameters in the request; criteria can include a list of root folder IDs, the type of object, whether to return ancestors of the object, a search pattern such as Begins With or Exactly, and the certified status of the object being searched for. You use the offset and limit query parameters to control paging behavior. The offset parameter specifies where to start returning search results, and the limit parameter specifies how many results to return.",
        "operationId" : "doQuickSearch_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Quick search request query model",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/QuickSearchRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SearchResultInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/subscriptions/{id}/send" : {
      "post" : {
        "tags" : [ "Subscriptions" ],
        "summary" : "Send subscription",
        "description" : "Send the existing subscription immediately. You obtain the authorization token needed to execute the request using POST /auth/login; You pass the authorization token in the request header. You obtain the project ID using GET /projects.You identify the project by specifying the project ID in the request; You identify the subscription by specifying the subscription ID in the request; you obtain the subscription ID using GET /subscriptions/. You provide the information to send the subscription ID in the path parameter of the request. If the content is prompted and user wants to update answers, user can answer prompts and then provide a list of content id and instance id as body.",
        "operationId" : "sendSubscription_1",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "Subscription ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "This field is only applicable to prompted content. Provide Prompt information, to send subscription with personalized prompt answers. In case of no Prompt information, previous personalization will be used.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PromptInfos"
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Request accepted for processing."
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "403" : {
            "description" : "Forbidden",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/users/{userId}/addresses" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get addresses for a specific user ",
        "description" : "Get all of the addresses for a specific user. This endpoint returns the name, ID, and other information about user addresses. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the user ID using GET /users. You pass the user ID in the path of the request. ",
        "operationId" : "listAddresses",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddressesV2"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Management" ],
        "summary" : "Create a user address ",
        "description" : "Create a new address for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the user ID using GET /users. You pass the user ID in the path of the request. You provide the information used to create a user address in the request body. ",
        "operationId" : "createAddress",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Address information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserAddressV2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created (See [Location])",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddressV2"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/users/{userId}/addresses/{addressId}" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get a specific user address given its id ",
        "description" : "Get information of a specific user address by its id. This endpoint returns the name, ID, and other information about the given user address. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the user ID using GET /users and the address ID using GET /v2/users/{userId}/addresses. You pass the user ID and address ID in the path of the request. ",
        "operationId" : "getAddressById",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "addressId",
          "in" : "path",
          "description" : "Address ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddressV2"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "User Management" ],
        "summary" : "Update a user address ",
        "description" : "Update a specific address for a specific user. You obtain the authorization token needed to execute the request using POST /auth/login. You pass the authorization token in the request header. You obtain the user ID using GET /users and the address ID using GET /v2/users/{userId}/addresses. You pass the user ID and address ID in the path of the request. You provide the information used to update the specific user address in the body parameter of the request. ",
        "operationId" : "updateAddress",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "userId",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "addressId",
          "in" : "path",
          "description" : "Address ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "Address update information",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserAddressV2"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserAddressV2"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/users/{id}/securityFilters" : {
      "get" : {
        "tags" : [ "User Management" ],
        "summary" : "Get each project level security filter and its corresponding inherited security filter",
        "description" : "Get each project level security filter and its corresponding inherited security filter. Following privilege: [DssXmlPrivilegesUseUserManager](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) is required to invoke current api.",
        "operationId" : "getSecurityFilterUsers_4",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "User ID",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projects.id",
          "in" : "query",
          "description" : "Project id collection which is used for filtering data, for example 'B19DEDCC11D4E0EFC000EB9495D0F6E2,A232EDCC11D4E0EFC000EB9495D0F6E2'",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Starting point within the collection of returned search results. Use to control paging behavior.",
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Maximum number of items returned for a single search request. Use to control paging behavior. Use -1 for no limit (subject to governing settings).",
          "schema" : {
            "minimum" : -1,
            "type" : "integer",
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "Comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model. If specified, extra filtering is applied, and for top-level object (if root model is an array, each array element), only the listed fields are kept in the response. For example, \"id,elements\" keeps only the \"id\" field and whole \"elements\" array field, omitting all other fields in the top-level response model.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserSecurityFilter"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "401" : {
            "description" : "Unauthorized",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          },
          "404" : {
            "description" : "Not Found",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/error"
                }
              }
            }
          }
        }
      }
    },
    "/api/scim/v2/Groups" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get group list",
        "description" : "Get group list. Filtering is only supported on 'groupName' attribute using eq operator. Sorting is not supported.",
        "operationId" : "query",
        "parameters" : [ {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "(Limited support) Filter expression for filtering results.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "startIndex",
          "in" : "query",
          "description" : "The 1-based index of the first query result.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "count",
          "in" : "query",
          "description" : "Number of query results per page. Default is 1000, maximum is 10000.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "SCIM" ],
        "summary" : "Create a new group",
        "description" : "Creates a new group resource.",
        "operationId" : "create_3",
        "parameters" : [ {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScimResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "409" : {
            "description" : "Conflict"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/Groups/{id}" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get group by ID",
        "description" : "Retrieves a group resource by unique identifier.",
        "operationId" : "getById",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "SCIM" ],
        "summary" : "Update an existing group",
        "description" : "Updates an existing group resource by unique identifier.",
        "operationId" : "update_2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScimResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "SCIM" ],
        "summary" : "Delete an existing group",
        "description" : "Deletes an existing group resource by unique identifier.",
        "operationId" : "delete_4",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "SCIM" ],
        "summary" : "Patch an existing group",
        "description" : "Patches an existing group resource by unique identifier.",
        "operationId" : "patch_1",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/ResourceTypes/{name}" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get an SCIM resource type by name",
        "description" : "Retrieves the SCIM resource type definition for a given resource name.",
        "operationId" : "get_2",
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the SCIM resource type (e.g., 'User', 'Group')",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/scim+json" : { },
              "application/json" : { }
            }
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/ResourceTypes" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get all SCIM resource types",
        "description" : "Retrieves all SCIM resource types supported by the service provider.",
        "operationId" : "getAll",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/scim+json" : { },
              "application/json" : { }
            }
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/Schemas/{id}" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get an SCIM schema by ID",
        "description" : "Retrieves an SCIM schema resource by unique identifier.",
        "operationId" : "get_3",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/scim+json" : { },
              "application/json" : { }
            }
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/Schemas" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get all SCIM schemas",
        "description" : "Retrieves all SCIM schemas supported by the service provider.",
        "operationId" : "getAll_1",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/scim+json" : { },
              "application/json" : { }
            }
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/ServiceProviderConfig" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get SCIM Service Provider Configuration",
        "description" : "Retrieves the SCIM Service Provider Configuration resource, which contains metadata about the SCIM service provider.",
        "operationId" : "get_4",
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/scim+json" : { },
              "application/json" : { }
            }
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/Users" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get user list",
        "description" : "Get user list. Filtering is only supported on 'userName' attribute using eq operator. Sorting is not supported.",
        "operationId" : "query_1",
        "parameters" : [ {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filter",
          "in" : "query",
          "description" : "(Limited support) Filter expression for filtering results.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "startIndex",
          "in" : "query",
          "description" : "The 1-based index of the first query result.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "count",
          "in" : "query",
          "description" : "Number of query results per page. Default is 1000, maximum is 10000.",
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "post" : {
        "tags" : [ "SCIM" ],
        "summary" : "Create a new user",
        "description" : "Creates a new user resource.",
        "operationId" : "create_4",
        "parameters" : [ {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScimResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "409" : {
            "description" : "Conflict"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/scim/v2/Users/{id}" : {
      "get" : {
        "tags" : [ "SCIM" ],
        "summary" : "Get user by ID",
        "description" : "Retrieves a user resource by unique identifier.",
        "operationId" : "getById_1",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "put" : {
        "tags" : [ "SCIM" ],
        "summary" : "Update an existing user",
        "description" : "Updates an existing user resource by unique identifier.",
        "operationId" : "update_3",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ScimResource"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "default" : {
            "content" : {
              "application/scim+json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ScimResource"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "delete" : {
        "tags" : [ "SCIM" ],
        "summary" : "Delete an existing user",
        "description" : "Deletes an existing user resource by unique identifier.",
        "operationId" : "delete_5",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      },
      "patch" : {
        "tags" : [ "SCIM" ],
        "summary" : "Patch an existing user",
        "description" : "Applies a patch to an existing user resource by unique identifier.",
        "operationId" : "patch_2",
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The unique identifier for a SCIM resource as defined by the service provider.",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to return in response.",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "excludedAttributes",
          "in" : "query",
          "description" : "Comma separated list of attributes to exclude from response.",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/scim+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PatchRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "400" : {
            "description" : "Bad Request"
          },
          "404" : {
            "description" : "Not found"
          },
          "500" : {
            "description" : "Internal Server Error"
          },
          "501" : {
            "description" : "Not Implemented"
          }
        },
        "security" : [ {
          "SCIM Bearer Token" : [ ]
        } ]
      }
    },
    "/api/model/changesets" : {
      "post" : {
        "tags" : [ "Changesets" ],
        "summary" : "Create a new changeset for modeling manipulations",
        "description" : "Creates a new changeset. \nThis request will return a changeset ID, which will be used in subsequent requests to read, create, and/or update objects through the modeling APIs (i.e. filters, facts, attributes, etc.).\nA changeset maintains an indivisible group of creations or modifications on modeling objects. \nEventually the changes in the changeset should be either committed as one transaction, or abandoned altogether. \n\nSet \"schemaEdit\" to `true` if this changeset ID is used to create or update schema objects through their corresponding APIs (tables, facts, attributes, hierarchies, transformations, partitions, functions). It places an \"exclusive_constituent\" lock on the schema.\n\nA project ID and authorization token are required to execute the request. An authorization token can be obtained using Authentication endpoints. When dealing with configuration objects such as timezones, project ID is not required, or it can be given as empty string.\n",
        "operationId" : "ms-createChangeset",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "schemaEdit",
          "in" : "query",
          "description" : "Specify whether the changeset includes the creation or update of schema objects.\nSet \"schemaEdit\" to `true` if this changeset ID is used to create or update schema objects through their corresponding APIs (tables, facts, attributes, hierarchies, transformations, partitions, functions). It places an \"exclusive_constituent\" lock on the schema.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "A new changeset is created successfully.\n",
            "headers" : {
              "X-MSTR-MS-Changeset" : {
                "description" : "The changeset ID",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Changeset"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/changesets/{changesetId}/commit" : {
      "post" : {
        "tags" : [ "Changesets" ],
        "summary" : "Commit the changeset changes to the metadata.",
        "description" : "Commits a changeset. All objects created or modified by the modeling APIs (filter, fact, tables, etc.) that use this changeset are saved to the metadata as one single transaction.\nThe changeset is still valid and can be used in subsequent requests to read, create, and/or update objects.\nThe changeset ID is required to execute the request and can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.     \n",
        "operationId" : "ms-commitChangeset",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "changesetId",
          "in" : "path",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The change journal user comments.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ChangeJournal"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "The changeset is committed successfully.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Changeset"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/changesets/{changesetId}" : {
      "delete" : {
        "tags" : [ "Changesets" ],
        "summary" : "Delete the changeset",
        "description" : "Deletes an existing changeset. All uncommitted new objects or updates to existing objects performed with the modeling APIs (Filter, Tables, Facts, etc.) against this changeset are dismissed.\nThe changeset ID is required to execute the request and can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-deleteChangeset",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "changesetId",
          "in" : "path",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The changeset has been deleted successfully.\n"
          }
        }
      }
    },
    "/api/model/cubes" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Create a new cube through Modeling service",
        "description" : "Create a new cube through Modeling service, based on the definition provided in request body, which includes, \"information\", \"filter\", \"template\", \"options\", \"timeBased\", and \"advancedProperties\". \nFor FFSQL cube, \"table\" field can also be included while \"filter\" is not supported. All attributes and metrics defined on the table should be put on the template as well. The definition of the newly created cube is returned in response.\nTo publish the newly created cube, please call POST /api/v2/cubes/{cubeId}\n\nIn the request body, \"filter\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nFor custom expressions in filter, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe project ID is required to create a cube in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-createCube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeTemplateId",
          "in" : "query",
          "description" : "This parameter specifies a cube object that will be used as a template for new cube creation. The new cube will inherit the defintion of this cube, and can be overwritten through request body of POST /model/cubes.  \n\nIf ommitted, the new cube will be created based on a blank cube. \n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the cube \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe cube filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The cube's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Cube"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A cube is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Cube"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/cubes/{cubeId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Read a cube's definition through Modeling service",
        "description" : "Get a cube's definition through Modeling Service. \nThe definition of a normal cube may include \"information\", \"sourceType\", \"filter\", \"template\", \"options\", \"timeBased\", and \"advancedProperties\".\nThe definition of a FFSQL cube doesn't include \"filter\", but will have all other fields together with \"table\".\n\nThe project ID is required to return a cube's definition in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints\n",
        "operationId" : "ms-getCube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the cube \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe cube filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The cube's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Cube"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Cubes" ],
        "summary" : "Update a cube's definition through Modeling service",
        "description" : "Update a cube's definition through Modeling service, based on the definition provided in request body, which includes, \"information\", \"filter\", \"template\", \"options\", \"timeBased\", and \"advancedProperties\". \nFor FFSQL cube, \"table\" field can also be included while \"filter\" is not supported. All attributes and metrics defined on the table should be put on the template as well. The definition of the newly created cube is returned in response.\nTo publish the updated cube, please call POST /api/v2/cubes/{cubeId}.\n\nIn the request body, \"filter\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe project ID is required to create a cube in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nThis API does not allow editing name or destinationFolderId, use save API to do that instead.\n",
        "operationId" : "ms-replaceCube",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the cube \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe cube filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The cube's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Cube"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The cube's definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Cube"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/cubes/{cubeId}/applicableVldbProperties" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the list of applicable properties for a given cube.",
        "description" : "Get the list of applicable properties for a given object.\nThe list is returned based on object's xda type and report type.\nThe object's subtype must be Cube, an error is thrown otherwise.\nInstanceId header is needed for unsaved objects so they can be retrieved from the instance.\nInternationalized fields will be based on user's displayLocale from MicroStrategy Library session.\n",
        "operationId" : "ms-getCubeApplicableVldbProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "cubeId",
          "in" : "path",
          "description" : "Cube ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for a given object is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/incrementalRefresh" : {
      "post" : {
        "tags" : [ "Cubes" ],
        "summary" : "Create an incremental refresh report through Modeling service",
        "description" : "Create an incremental refresh report. Both normal cube and FFSQL cube are supported to be the target cube of an incremental refresh report. The API creates an incremental refresh report definition. \nThis doesn't refresh the target cube's data. You need to use **POST** _/api/incrementalRefresh/{incrementalRefreshReportId}_ to refreh the target cube's data.\n\nIn the request body, \"filter\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let's say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe project ID is required to create an incremental refresh report in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-createIncrementalRefreshReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the incremental refresh report \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe incremental refresh report filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The incremental refresh report's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-IncrementalRefreshReport"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "An incremental refresh report is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-IncrementalRefreshReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/incrementalRefresh/{incrementalRefreshReportId}" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get a specific incremental refresh report definition through Modeling service",
        "description" : "Get an incremental refresh report definition. \nFor incremental refresh report which is based on a normal cube, the definition includes the `information`, `targetCube`, `incrementType`, `refreshType`, `template`, `filter`, and `advancedProperties`. \nFor incremental refresh report which is based on a FFSQL cube, the definition includes the `information`, `targetCube`, `incrementType`, `refreshType`, `template`, `table`, and `advancedProperties`. \nThis doesn't refresh the target cube's data. You need to use **POST** _/api/incrementalRefresh/{incrementalRefreshReportId}_ to refreh the target cube's data.\n\nThe project ID is required to return an incremental refresh report in the metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getIncrementalRefreshReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "incrementalRefreshReportId",
          "in" : "path",
          "description" : "Incremental Refresh Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the incremental refresh report \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe incremental refresh report filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The incremental refresh report's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-IncrementalRefreshReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Cubes" ],
        "summary" : "Update an incremental refresh report definition through Modeling service",
        "description" : "Update an incremental refresh report definition. \nFor incremental refresh report which is based on a normal cube, the definition includes the `information`, `targetCube`, `incrementType`, `refreshType`, `template`, `filter`, and `advancedProperties`. \nFor incremental refresh report which is based on a FFSQL cube, the definition includes the `information`, `targetCube`, `incrementType`, `refreshType`, `template`, `table`, and `advancedProperties`. \nThis doesn't refresh the target cube's data. You need to use **POST** _/api/incrementalRefresh/{incrementalRefreshReportId}_ to refresh the target cube's data.\n\nIn the request body, \"filter\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let's say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe project ID is required to update an incremental refresh report in the metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nThis API does not allow editing name or destinationFolderId, use save API to do that instead.\n",
        "operationId" : "ms-putIncrementalRefreshReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "incrementalRefreshReportId",
          "in" : "path",
          "description" : "Incremental Refresh Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the incremental refresh report \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe incremental refresh report filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The incremental refresh report's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-IncrementalRefreshReport"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The incremental refresh report's definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-IncrementalRefreshReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/incrementalRefresh/{incrementalRefreshReportId}/applicableVldbProperties" : {
      "get" : {
        "tags" : [ "Cubes" ],
        "summary" : "Get the list of applicable properties for a given incremental refresh report.",
        "description" : "Get the list of applicable properties for a given object.\nThe list is returned based on object's xda type and report type.\nThe object's subtype must be IRR, an error is thrown otherwise.\nInstanceId header is needed for unsaved objects so they can be retrieved from the instance.\nInternationalized fields will be based on user's displayLocale from MicroStrategy Library session.\n",
        "operationId" : "ms-getIncrementalRefreshVldbProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "incrementalRefreshReportId",
          "in" : "path",
          "description" : "Incremental Refresh Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given object is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/systemHierarchy" : {
      "get" : {
        "tags" : [ "System Hierarchy" ],
        "summary" : "Retrieves the system hierarchy",
        "description" : "Retrieves all the relationships stored in the system hierarchy.\n",
        "operationId" : "ms-getSystemHierarchy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "System hierarchy is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SystemHierarchy"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/attributes" : {
      "post" : {
        "tags" : [ "Attributes" ],
        "summary" : "Create a new attribute",
        "description" : "Create a new attribute in the changeset, based on the definition provided in request body. The definition of the newly created attribute is returned in response.  \n\nIn the request body, \"forms\" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms. \nEach attribute form contains: \n* \"expressions\": A list of attribute form expressions. Attribute form contains one or more attribute form expressions. Each attribute form expression contains \"expression\" and \"tables\".  \n  * ”expression”: Needs to be in either \"tree\" or \"tokens\" format. \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say an attribute form expression is \"Year - 10\". When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Year_ID\", Year_column_ID), (\"-\", Minus_ID), (\"10\", Constant).\n  * \"tables\": A list of tables that the \"expression\" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed to use here.   \n* \"dataType\" and \"alias\" are optional. If omitted, they are calculated based on the first attribute form expression. \n* \"childForms\" is specific to a form group, which contains the reference for child forms\n\nProvide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using \"attributeLookupTable\", or the attribute form level using \"lookupTable\". If \"LookupTable\" is defined at the attribute form level, it is used, or it falls back to \"attributeLookupTable\". \nWarehouse partition base tables and metadata partition mapping tables are not allowed to be set as lookup tables.\n\nProvide \"keyForm\" and \"displays\", as they are required for the attribute to be committed to the metadata.\n\nProvide \"destinationFolderId\" in \"information\", as it is required for the attribute to be committed to the metadata.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created attribute to the metadata, commit using the changeset commit API.     \n",
        "operationId" : "ms-createAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The attribute's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Attribute"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new attribute is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Attribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/attributes/{attributeId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Attributes" ],
        "summary" : "Get the list of applicable properties for a given attribute.",
        "description" : "Returns the list of applicable properties for a given attribute object.\nThe list is based on the object's type thus is the same for all attributes.\n\nThe project ID in the header is required to return the attributes's applicable properties in metadata. The changeset ID is required to return attributee's applicable properties within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getAttributeApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for the given attribute is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/attributes/{attributeId}" : {
      "get" : {
        "tags" : [ "Attributes" ],
        "summary" : "Read an attribute",
        "description" : "The response returns the definition of a single attribute.\n\n\"relationships\" is a read-only field and it returns the relationship(s) of this attribute as a set of tuples (pairs of related attributes) with their relationship type (1-N, 1-1, etc.) and corresponding relationship table.\nIt contains the same information as GET systemHierarchy/attributes/{attributeId}/relationships. \nTo update the relationship(s) of the attribute, use PUT systemHierarchy/attributes/{attributeId}/relationships.\n\nThe project ID is required to return an attribute's definition in the metadata. \nThe changeset ID is required to return an attribute's definition within a specific changeset. \nTo execute the request, either the project ID or changeset ID needs to be provided. \nIf both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API. \nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getAttributeDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Attribute's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Attribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Attributes" ],
        "summary" : "Update an attribute",
        "description" : "Updates a specific attribute in the changeset.\nThis request replaces the attribute's top-level fields with the new definition provided in the request body.\n\nIn the request body, \"forms\" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms.\nEach attribute form contains:\n* \"expressions\": A list of attribute form expressions. Attribute form contains one or more attribute form expressions. Each attribute form expression contains \"expression\" and \"tables\".\n  * ”expression”: Needs to be in either \"tree\" or \"tokens\" format.\n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say an attribute form expression is \"Year - 10\". When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Year_ID\", Year_column_ID), (\"-\", Minus_ID), (\"10\", Constant).\n  * \"tables\": A list of tables that the \"expression\" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed to use here.\n* \"dataType\" and \"alias\" are optional. If omitted, they are calculated based on the first attribute form expression.\n* \"childForms\" is specific to a form group, which contains the reference for child forms\n\nProvide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using \"attributeLookupTable\", or the attribute form level using \"lookupTable\". If \"LookupTable\" is defined at the attribute form level, it is used, or it falls back to \"attributeLookupTable\".\nWarehouse partition base tables and metadata partition mapping tables are not allowed to be set as lookup tables.\n\nProvide \"keyForm\" and \"displays\", as they are required for the object to be committed to the metadata.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly updated attribute to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-updateAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "removeInvalidFields",
          "in" : "query",
          "description" : "This parameter specifies whether to check and remove the invalid fields caused by changes related to key form within the request. \n\nChanges related to key form could introduce invalid expressions for non-key forms as expression's table is empty, and/or invalid relationship as the relationship table is null. \n\nIf `true`, if the key form changes in the request introduce invalid expressions and/or relationships, \nthe invalid expressions and/or relationships are removed from the attribute and/or the system hierarchy.\n\nIf `false` or omitted, it errors out if the key form changes in the request introduce invalid expressions and/or relationships.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "1 or more top-level fields with the new definition of the attribute.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Attribute"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Attribute"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The attribute's defintion is updated successflly in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Attribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/attributes/{attributeId}/smartAttributes" : {
      "get" : {
        "tags" : [ "Attributes" ],
        "summary" : "Get list of smart attributes.",
        "description" : "Return a list of references to all smart attributes derived from the base attribute indicated by attributeId\n",
        "operationId" : "ms-getSmartAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributes" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Attributes" ],
        "summary" : "Modify existing smart attributes or create new if objectId is omitted.",
        "description" : "If objectId exists then smart attribute is updated. When objectId is not specified then a new smart attribute is created.\nA 15_min_interval smart attribute is required to create any higher level (for eg: 30_min_interval) smart attribute.\n",
        "operationId" : "ms-editSmartAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "smartAttributes" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-SmartAttribute"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributes" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/attributes/{attributeId}/smartAttributes/templates" : {
      "get" : {
        "tags" : [ "Attributes" ],
        "summary" : "Get list of smart attributes templates.",
        "description" : "Return a list of smart attribute templates that can be created.\n",
        "operationId" : "ms-getSmartAttributesTemplates",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of available templates of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributesTemplates" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/systemHierarchy/attributes/{attributeId}/relationships" : {
      "get" : {
        "tags" : [ "System Hierarchy" ],
        "summary" : "Read relationship(s) of an attribute",
        "description" : "The response returns the relationships of a single attribute as a set of tuples (pairs of related attributes) with their relationship type (1-N, 1-1, etc.) and corresponding relationship table.\n\nThe project ID is required to return an attribute's relationship(s) in metadata. \nThe changeset ID is required to return an attribute's relationship within a specific changeset. \nTo execute the request, provide either project ID or changeset ID. If both are provided, only the changeset ID is used. \n\nThe changeset ID can be obtained using the changeset creation API.\nAn authentication token is required to execute the request and can be obtained using Authentication endpoints. \n",
        "operationId" : "ms-getAttributeRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The relationship(s) of the attribute are returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AttributeRelationships"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "System Hierarchy" ],
        "summary" : "Update relationship(s) of an attribute",
        "description" : "Update a specific attribute's relationship(s) in the changeset, based on the definition provided in the request body. It returns the attribute's updated relationship(s) in the changeset.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putAttributeRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client passes in the relationships for the attribute.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-AttributeRelationships"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The relationship(s) of the attribute are updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AttributeRelationships"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/schema/lock" : {
      "get" : {
        "tags" : [ "Schema" ],
        "summary" : "Read lock status of the schema",
        "description" : "The response returns the lock status of the schema.  \n\nA project ID and authorization token are required to execute the request. An authorization token can be obtained using Authentication endpoints.\n\nIn the response, the \"lockType\" can be:  \n * \"absolute_individual\": Place using the POST schema lock API. When placed, no one, including the administrator, can perform changes on the schema objects. The purpose of this lock is to prevent accidental modifications to the schema in a project.\n * \"exclusive_constituent\": When the changeset is created with \"schemaEdit\" = `true`, an \"exclusive_constituent\" lock is placed on the schema. It is a lock exclusive to the changeset holding the lock; only that changeset can change the schema or its constituents (tables, attributes, etc.).\n * \"absolute_constituent: Not in use.\n",
        "operationId" : "ms-getLock",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The lock status of the schema is returned successfully, including additional information if there is a lock.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Lock"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Schema" ],
        "summary" : "Lock the schema",
        "description" : "Places a lock on the schema. \n\nIn the request body, \"lockType\" must be provided. \n* \"absolute_individual\": When placed, no one, including the administrator, can perform changes on the schema objects. The purpose of this lock is to prevent accidental modifications to the schema in a project.\n* \"exclusive_constituent\": Not used by this API. When the changeset is created with \"schemaEdit\" = `true`, an \"exclusive_constituent\" lock is placed on the schema. It is a lock exclusive to the changeset holding the lock; only that changeset can change the schema or its constituents (tables, attributes, etc.).\n* \"absolute_constituent: Not in use.\n\nA project ID and authorization token are required to execute the request. An authorization token can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-postLock",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The client specifies the lock type to be placed on the schema.",
          "content" : {
            "application/json" : {
              "schema" : {
                "required" : [ "lockType" ],
                "type" : "object",
                "properties" : {
                  "lockType" : {
                    "$ref" : "#/components/schemas/ms-EnumLockType"
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "The schema is locked successfully.\n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Schema" ],
        "summary" : "Unlock the schema",
        "description" : "Unlocks the schema. \n\nA project ID and authorization token are required to execute the request. An authorization token can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-deleteLock",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "lockType",
          "in" : "query",
          "description" : "Lock type:\n* \"absolute_individual\": When placed, no one, including the administrator, can perform changes on the schema objects. \n* \"exclusive_constituent\": When the changeset is created with \"schemaEdit\" = `true`, an \"exclusive_constituent\" lock is placed.  It is a lock exclusive to the changeset holding the lock; only that changeset can change the schema or its constituents (tables, attributes, etc.).\n* \"absolute_constituent: Not in use.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-EnumLockType"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, this API unlocks the schema.\n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/schema/reload" : {
      "post" : {
        "tags" : [ "Schema" ],
        "summary" : "Reload (update) the schema",
        "description" : "Reloads (updates) the schema. \n\nSet \"Prefer\" to `respond-async` to execute this API asynchronously. Use GET tasks APIs to check the status of the task. \n\nA project ID and authorization token are required to execute the request. An authorization token can be obtained using Authentication endpoints.\n\n\"updateTypes\" is required in the request body. This field can contain empty, any of the following options, or all them:\n* table_key: Use this option if you changed the key structure of a table.\n* entry_level: Use this option if you changed the level at which a fact is stored.\n* logical_size: Use this option to recalculate logical table sizes and override any modifications you made to logical table sizes.\n* clear_element_cache: Use this option to clear up the attribute element cache saved on the Intelligence Server.\n",
        "operationId" : "ms-schemaReload",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "\"updateTypes\" is required in the request body. This field can contain empty, any of the following options, or all them:\n* table_key: Use this option if you changed the key structure of a table.\n* entry_level: Use this option if you changed the level at which a fact is stored.\n* logical_size: Use this option to recalculate logical table sizes and override any modifications you made to logical table sizes.\n* clear_element_cache: Use this option to clear up the attribute element cache saved on the Intelligence Server.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "updateTypes" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-EnumUpdateType"
                    }
                  }
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The schema reload (synchronous call) executes successfully.  \n"
          },
          "202" : {
            "description" : "The schema reload (asynchronous call) request is accepted. \n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TaskInfo"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/tasks/{taskId}" : {
      "get" : {
        "tags" : [ "Schema" ],
        "summary" : "Read the status of the task",
        "description" : "Retrieves the status of the task. \n\nCurrently, only schema reload (asynchronous call) is supported. The task ID is returned from the schema reload asynchronous call. \n",
        "operationId" : "ms-getTask",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "taskId",
          "in" : "path",
          "description" : "Task ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The task execution has completed (or failed).",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TaskInfo"
                }
              }
            }
          },
          "202" : {
            "description" : "The task execution is in progress.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TaskInfo"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/facts" : {
      "post" : {
        "tags" : [ "Facts" ],
        "summary" : "Create a new fact",
        "description" : "Creates a new fact in the changeset, based on the definition provided in request body. The definition of the newly created fact is returned in response.\n\nIn the request body, ”expressions” contains a list of fact expressions. \nEach fact expression contains \"expression\" and \"tables\".  \n* ”expression”: Needs to be in either \"tree\" or \"tokens\" format. \n   * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a fact expression is \"Revenue - Cost\". When the fact expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\"-\", Minus_ID), (\"Cost\", Cost_ID).\n\n* \"tables\": A list of tables that the \"expression\" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed to use here.\n\n\"dataType\" and \"alias\" are optional. If omitted, they are calculated based on the first fact expression.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.      \n\nTo save the newly created fact to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postFact",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The fact's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Fact"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new fact is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Fact"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/facts/{factId}" : {
      "get" : {
        "tags" : [ "Facts" ],
        "summary" : "Read a fact",
        "description" : "The response returns the definition of a single fact.\n\nThe project ID is required to return a fact's definition in metadata. The changeset ID is required to return a fact's definition within a specific changeset. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getFactDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "factId",
          "in" : "path",
          "description" : "Fact ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The fact's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Fact"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Facts" ],
        "summary" : "Update a fact",
        "description" : "Updates a specific fact in the changeset, based on the definition provided in the request body.  It returns the fact's updated definition in the changeset.\n\nIn the request body, ”expressions” contains a list of fact expressions. \nEach fact expression contains \"expression\" and \"tables\".  \n* ”expression”: Needs to be in either \"tree\" or \"tokens\" format. \n   * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a fact expression is \"Revenue - Cost\". When the fact expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\"-\", Minus_ID), (\"Cost\", Cost_ID).\n\n* \"tables\": A list of tables that the \"expression\" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed to use here.\n\n\"dataType\" is optional. If omitted, it calculates based on the first fact expression. \n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putFact",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "factId",
          "in" : "path",
          "description" : "Fact ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showPotentialTables",
          "in" : "query",
          "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the fact.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Fact"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "The fact's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Fact"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/tables" : {
      "get" : {
        "tags" : [ "Tables" ],
        "summary" : "Get a list describing all available (logical) tables",
        "description" : "This API gets a list of logical tables. The response describes all logical tables that can be viewed or modified.\n\nA _physical table_ describes the metadata of a warehouse table. It contains a set of columns with a schema definition. Currently, we support two types of physical tables. One is called\na normal table. It uses the table name and namespace to fetch schema definitions from the warehouse. The other table is a freeform SQL table. It uses a SQL statement to fetch schema definitions.\n\nThis API gets the tables list of _logical tables_.  A logical table describes the higher-level data model objects\n(_facts_, _attributes_, etc.) that the architect wishes to use to model the contents of the physical table.\nIf the caller sets the fields parameter, the response contains the specified fields information.\nFor example, if the caller specifies the PhysicalTable field, then the response contains a PhysicalTable field for each table. By default, the above fields are not returned.\n\nEach logical table is based on exactly one physical table. However, in some cases it is convenient to create multiple logical tables for the same physical table, which is known as the logical table\nalias. For example, if there is a table containing geographical data then you may want to model it as two tables (one for a location at the start of a journey and another logical table for the end\nof the journey), which is also known as an attribute role. If you want to create multiple attributes with different business concepts on the same column in one table, you can create a table alias for\nthis physical table and map different attributes to a different table alias.\n\nThe project ID is required to return all logical tables' definitions in metadata. The changeset ID is required to return all logical tables' definitions within a specific changeset. To execute the request,\neither the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nImmediately after creating an changeset, this list displays all logical tables available in the schema. If the caller creates new tables or erases existing tables, the list of tables obtained by\nthis call is updated to reflect the change.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTableList",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of logical tables with specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTablesResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Tables" ],
        "summary" : "Create a logical table",
        "description" : "This API creates a logical table in the changeset, and returns a new logical table definition with specific field information. \nNormal tables, FFSQL tables, and partition mapping tables are all supported. For partition mapping tables, \nboth Warehouse Partition Mapping (WHPM) and Metadata Partition Mapping (MDPM) are supported.\n\nWhen creating a normal table or warehouse partition mapping table, the request body must include a physical \ntable definition, the API creates both a logical table and physical table based on the request body, while when \ncreating a warehouse partition mapping table, the partition logical table and physical table will be created as well. \nIf _type_ is not specified in the physical table definition, the API creates a normal table \nby default. If a logical table that refers to the same warehouse physical table already exists in the project, \nthe API creates a new logical table, copying from the existing one. If a normal logical table exists in the \nproject with the same data source information, namespace, and table name, the API creates a normal table alias. \nIf the caller wants to use the table alias explicitly, pass an existing physical table ID in the request body. \nA freeform SQL table alias can only be created by passing an existing freeform SQL physical table ID in the \nrequest body. When the changeset is committed, all the new logical tables are created under folder _schema objects/tables_. \n\nMetadata partition mapping table is different from other kinds of tables. It is a group of existing normal logical \ntables, which are called partition base tables. It does not have physical tables, and it cannot have table alias.\nIn the _information_ field, you need to specify the _subType_ to be \"table_partition_md\".\nEach partition base table must define a partition filter which is attribute qualification. The attributes in the \nfilter can be any standalone attribute. Partition filter is a standalone system object saved to\n _System Objects\\Partition Filters_. You may use _showExpressionAs_ and _showFilterTokens_ parameters for\npartition filters. When the changeset is committed, metadata partition mapping table can be saved to any location \nby specifying the destination folder ID in the request body. If not given _destinationFolderId_, the newly created\ntable will fallback to _Schema Objects\\Tables_ folder.\n\nFor all kinds of tables, the table name cannot be duplicated within the project.\n\nA changeset ID is required to execute the request and can be obtained using the changeset creation API. An \nauthorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo add the newly created table to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-addTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "checkSecondaryDataSourceTable",
          "in" : "query",
          "description" : "If set to true, the API finds compatible tables in the project. If a compatible table is found, the compatible table object information is returned.\nThe caller can call PATCH /model/tables/{tableID}/ to set a secondaryDatasources for the compatible table. If no table is found, a new table is created.\n\nIf set to false, a new table is created.\n\nThis parameter has no effect on creating a freeform SQL table.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "columnMergeOption",
          "in" : "query",
          "description" : "Defines a column merge option. For example, say a project includes a table named Table1 and a column named C1 whose data type is char(1). You add Table2, which has a C1 column with char(4).\nTo be consistent, columns' data types are modified in following ways:\n\n* reuse_any: Updates the column data type to use the most recent column definition. In the example above, the column data type for C1 is changed to char(4) since Table2 was added after Table1.\n* reuse_compatible_data_type: Updates the column data type to use the data type with the largest precision or scale. In the example above, the column data type for C1 is changed to char(4), as defined in Table2.\n* reuse_matched_data_type: Renames the column in newly added table to allow it to have different data types. In the example above, column C1 uses char(1) for Table1. Column C1 in Table2 is defined as a separate\ncopy of C1 and uses char(4). This option can cause unwanted schema changes and should be used only when necessary.\n\nIf this value is not set, use the option that set on DBRole catalog setting.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reuse_any", "reuse_compatible_data_type", "reuse_matched_data_type" ]
          }
        }, {
          "name" : "tablePrefixOption",
          "in" : "query",
          "description" : "The following options define the table prefix:\n  - none: do not set table prefix.\n  - add_default_prefix: this option applies the default prefix setting on warehouse catalog.\n  - add_namespace: create a prefix same with namespace.\n\nThis param has no effect on a free form SQL table.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "none", "add_default_prefix", "add_namespace" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The client specifies the table information.",
          "content" : {
            "application/json" : {
              "schema" : {
                "example" : {
                  "information" : {
                    "name" : "new Table"
                  },
                  "primaryDataSource" : {
                    "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A8"
                  },
                  "physicalTable" : {
                    "tableName" : "CITY_CTR_SLS",
                    "namespace" : "dbo"
                  }
                },
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-LogicalTableInfoAddOneOf"
                } ]
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns the newly created logical table definition with specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTableResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/tables/{tableId}" : {
      "get" : {
        "tags" : [ "Tables" ],
        "summary" : "Read a logical table",
        "description" : "This API gets a detailed definition for a specified (logical) table.\n\nThe project ID is required to return a table's definition in metadata. The changeset ID is required to return a table's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA _physical table_ describes the metadata of a warehouse table. It contains a set of columns with a schema definition. A logical table describes\nthe higher-level data model objects (_facts_, _attributes_, etc.) that the architect wants to use to model the contents of the physical table. If\nthe caller sets the fields parameter, then the response contains the specified fields information. For example, if the caller specifies the PhysicalTable\nfield, the response contains a PhysicalTable field for each table. By default, only the information field is returned.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTableDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a document to fully describe the definition and specific field information of the table.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTableResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Tables" ],
        "summary" : "Update a logical table",
        "description" : "This API updates a detailed definition for a specified (logical) table in the changeset.\n\nFor a normal logical table or a warehouse partition mapping table, you can update the following: the logical table name in the information field, isTrueKey, logicalSize, isLogicalSizeLocked,\nprimaryDatasource, secondaryDatasource field, prompt ids in sapHanaParameters field, physical table object name, physical table name, and the table prefix in physicalTable field.\nWhen the primaryDatasource or secondaryDatasource of this logical table is updated, the related primaryDatasource or secondaryDatasource of all other logical tables that\nshare the same physical table with this logical table are updated.\n\nFor a freeform SQL table, you can update the following: the logical table name in the information field, isTrueKey, logicalSize, isLogicalSizeLocked,\nprimaryDatasource, encloseSqlInParentheses field, physical table object name, sqlStatement, and columns in physicalTable field. The primaryDatasource change\nwill not affect other logical tables that share the same physical table with this logical table.\n\nFor a metadata partition mapping table, you can update the logical table name and destination folder in the information field; logicalSize, isLogicalSizeLocked,\npartition base tables and their partition filters in partitionTables field.\n\nFor all kinds of tables, the table name cannot be duplicated within the project.\n\nThe response contains the updated definition and specific field information of the logical table.\n\nA changeset ID is required to execute the request and can be obtained using the changeset creation API. An authorization token is required to execute the request and can be\nobtained using Authentication endpoints.\n\nTo update the detailed definition for the specified table to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-patchTableDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "columnMergeOption",
          "in" : "query",
          "description" : "Defines a column merge option. For example, say a project includes a table named Table1 and a column named C1 whose data type is char(1). You add Table2, which has a C1 column with char(4).\nTo be consistent, columns' data types are modified in following ways:\n\n* reuse_any: Updates the column data type to use the most recent column definition. In the example above, the column data type for C1 is changed to char(4) since Table2 was added after Table1.\n* reuse_compatible_data_type: Updates the column data type to use the data type with the largest precision or scale. In the example above, the column data type for C1 is changed to char(4), as defined in Table2.\n* reuse_matched_data_type: Renames the column in newly added table to allow it to have different data types. In the example above, column C1 uses char(1) for Table1. Column C1 in Table2 is defined as a separate\ncopy of C1 and uses char(4). This option can cause unwanted schema changes and should be used only when necessary.\n\nIf this value is not set, use the option that set on DBRole catalog setting.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reuse_any", "reuse_compatible_data_type", "reuse_matched_data_type" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide at least a table definition that contains the field to be patched.",
          "content" : {
            "application/json" : {
              "schema" : {
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-LogicalTableInfoPatchOneOf"
                }, {
                  "type" : "object",
                  "properties" : {
                    "secondaryDataSources" : {
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                      }, {
                        "description" : "MicroStrategy support mapping the table to more than one data source.\nThe first option is primary data source while the second option is second data source.\n"
                      } ]
                    }
                  },
                  "example" : {
                    "information" : {
                      "name" : "updated Table"
                    },
                    "primaryDataSource" : {
                      "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A8"
                    },
                    "physicalTable" : {
                      "tablePrefix" : "dbo.",
                      "tableName" : "CITY_CTR_SLS_2"
                    },
                    "secondaryDataSources" : [ {
                      "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A1"
                    }, {
                      "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A2"
                    } ]
                  }
                } ]
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "example" : {
                  "information" : {
                    "name" : "updated Table"
                  },
                  "primaryDataSource" : {
                    "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A8"
                  },
                  "physicalTable" : {
                    "tablePrefix" : "dbo.",
                    "tableName" : "CITY_CTR_SLS_2",
                    "secondaryDataSources" : [ {
                      "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A1"
                    }, {
                      "objectId" : "8FB036244C375FC9CE3FCABF45ECC5A2"
                    } ]
                  }
                },
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-LogicalTableInfoAdd"
                } ]
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a document that describes the current definition and specific field information of the table.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTableResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/tables/{tableId}/physicalTable/refresh" : {
      "post" : {
        "tags" : [ "Tables" ],
        "summary" : "update physical table structure",
        "description" : "This API is used to update physical table structure. If table is missing, table cannot be updated. It will do nothing if the physical table is a free form sql table.\nIf the table has secondary datasource, each physical table's schema in the secondary datasource list will also be checked. The update will be rejected if\nthe new table structure does not meet secondary datasource condition (column missing, data type incompatible).\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request and\ncan be obtained using Authentication endpoints.\n\nTo update the physical table to metadata, commit using **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-refreshPhysicalTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "An identifier for the _logical table object_ that the client wishes to invoke.\nThe model service does not distinguish between logical and physical tables.\nA physical table is accessed as part of a logical table based on the physical table field.\n\nThere are three possible sources for a table id:\n* The id could be the _object id_ already used within the metadata to identify the logical table.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed logical table that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new table by the client.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "columnMergeOption",
          "in" : "query",
          "description" : "Defines a column merge option. For example, say a project includes a table named Table1 and a column named C1 whose data type is char(1). You add Table2, which has a C1 column with char(4).\nTo be consistent, columns' data types are modified in following ways:\n\n* reuse_any: Updates the column data type to use the most recent column definition. In the example above, the column data type for C1 is changed to char(4) since Table2 was added after Table1.\n* reuse_compatible_data_type: Updates the column data type to use the data type with the largest precision or scale. In the example above, the column data type for C1 is changed to char(4), as defined in Table2.\n* reuse_matched_data_type: Renames the column in newly added table to allow it to have different data types. In the example above, column C1 uses char(1) for Table1. Column C1 in Table2 is defined as a separate\ncopy of C1 and uses char(4). This option can cause unwanted schema changes and should be used only when necessary.\n\nIf this value is not set, use the option that set on DBRole catalog setting.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "reuse_any", "reuse_compatible_data_type", "reuse_matched_data_type" ]
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "ignoreTablePrefix",
          "in" : "query",
          "description" : "If true, get all tables under current DB. There are three following situations:\n* If there is only one table that has same name as updated table, update table structure using this table.\n* If there is no table that has same name as updated table, throw error.\n* If there are multiple tables has same name as updated table, throw error.\n\nIf false, remain the current behavior.\n\nIf not set, get the setting value from warehouse catalog. This behavior is same as column merge options.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "On success, the API returns a list of logical tables and their specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTableResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/tables/{tableId}/prompts/{promptId}" : {
      "get" : {
        "tags" : [ "Tables" ],
        "summary" : "Read the prompt of the table.",
        "description" : "The response returns the definition of a single prompt. The prompt should exist in the prompt list of the table. User should have read access to the table.\n\nThe project ID is required to return a prompt's definition in metadata. \nThe changeset ID is required to return a prompt's definition within a specific changeset. \nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nThe changeset ID is for returning a prompt's definition within a specific changeset. It can be obtained using the changeset creation API.\nAn authorization token is for executing the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTablePromptDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Prompt's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Prompt"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Tables" ],
        "summary" : "Update the prompt of the table",
        "description" : "Updates a specific prompt in the changeset, based on the definition provided in the request body. It returns the prompt's updated definition in the changeset.\nNote that the prompt should exist in the prompt list of the table. The type of the prompt should be either a value prompt or an attribute element prompt.\nBasically, read access to the table will be checked. If the prompt is a managed object, write access to the table is also required.\n\nThe Modeling server performs a full validation for each part of the body. If something is wrong, an error will be reported.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putTablePrompt",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the prompt.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Prompt"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The prompt's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Prompt"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/filters" : {
      "post" : {
        "tags" : [ "Filters" ],
        "summary" : "Create a filter",
        "description" : "Creates a new filter in the changeset, based on the definition provided in request body. The definition of the newly created filter is returned in response.\n\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created filter to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The filter's definition. A filter's \"qualification\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Filter"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new filter is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Filter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/filters/{filterId}" : {
      "get" : {
        "tags" : [ "Filters" ],
        "summary" : "Read a filter",
        "description" : "The response returns the definition of a single filter. \n\nThe project ID is required to return a filter's definition in metadata.\nThe changeset ID is required to return a filter's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getFilterDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filterId",
          "in" : "path",
          "description" : "Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Filter's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Filter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Filters" ],
        "summary" : "Update a filter",
        "description" : "Updates a specific filter in the changeset, based on the definition provided in the request body. It returns the filter's updated definition in the changeset.\n\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filterId",
          "in" : "path",
          "description" : "Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the filter.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Filter"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The filter's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Filter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/customGroups" : {
      "post" : {
        "tags" : [ "Custom Groups" ],
        "summary" : "Create a custom group",
        "description" : "Creates a new custom group in the changeset, based on the definition provided in request body. The definition of the newly created custom group is returned in response.\n\nIn the request body,  “elements” contains the definition of a list of ordered custom group elements.  Each element contains “name”, “displayOption”, “format”, and “qualification”. Each custom group element can contain either filter qualification predicates or one banding predicate.\n  * For filter elements, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. For custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. For inline custom expressions, only the \"tree\" format is supported.        \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a custom group filter element expression is “Year =  2021”. When it is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (“Year”, Year_ID), (“=“, EqualTo_ID), (“2021”, constant). \n  * For banding elements, \"qualification\" is supported only in \"tree\" format.\n  * “displayOption” is optional. If omitted, the default value “element” is used. \"format\" is optional.\n\n“options” is optional. If omitted, the default value is used. “drill_map” is optional.\n\nProvide \"destinationFolderId\" in \"information\", as it is required for the attribute to be committed to the metadata.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created custom group to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postCustomGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The custom group's definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-CustomGroup"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "A new custom group is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-CustomGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/customGroups/{customGroupId}" : {
      "get" : {
        "tags" : [ "Custom Groups" ],
        "summary" : "Read a custom group",
        "description" : "The response returns the definition of a single custom group.\n\nThe project ID is required to return a custom group's definition in metadata.\nThe changeset ID is required to return a custom group's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getCustomGroupDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "customGroupId",
          "in" : "path",
          "description" : "Custom Group ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Custom group's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-CustomGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Custom Groups" ],
        "summary" : "Update a custom group",
        "description" : "Updates a specific custom group in the changeset, based on the definition provided in the request body. It returns the custom group's updated definition in the changeset.\n\nIn the request body,  “elements” contains the definition of a list of ordered custom group elements.  Each element contains “name”, “displayOption”, “format”, and “qualification”. Each custom group element can contain either filter qualification predicates or one banding predicate. \n  * For filter elements, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. For custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. For inline custom expressions, only the \"tree\" format is supported.        \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a custom group filter element expression is “Year =  2021”. When it is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (“Year”, Year_ID), (“=“, EqualTo_ID), (“2021”, constant). \n  * For banding elements, \"qualification\" is supported only in \"tree\" format.\n  * “displayOption” is optional. If omitted, the default value “element” is used. \"format\" is optional.\n\n“options” is optional. If omitted, the default value is used. “drill_map” is optional.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putCustomGroup",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "customGroupId",
          "in" : "path",
          "description" : "Custom Group ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the custom group.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-CustomGroup"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The custom group's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-CustomGroup"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/customGroups/{customGroupId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Custom Groups" ],
        "summary" : "Get the list of applicable properties for a given custom group.",
        "description" : "Returns the list of applicable properties for a given custom group object.\nThe list is based on the object's type thus is the same for all custom groups.\n\nThe project ID in the header is required to return the custom group's applicable properties in metadata. The changeset ID is required to return custom group's applicable properties within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getCustomGroupApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "customGroupId",
          "in" : "path",
          "description" : "Custom Group ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for the given custom group is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/drillMaps" : {
      "post" : {
        "tags" : [ "Drill Maps" ],
        "summary" : "Create a drill map",
        "description" : "Creates a new drill map in the changeset, based on the definition provided in the request body. The definition of the newly created drill map is returned in the response.\n\nIn the request body, there are two main parts:\n  * Information: Stores basic drill map information such as name, subType, destinationFolderId, etc. name and destinationFolderId are required fields.\n  * DrillPaths: Stores an array of drill path objects.\n\nThe changeset ID can be obtained using the changeset creation API. \nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created drill map to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postDrillMap",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        } ],
        "requestBody" : {
          "description" : "The drill map's definition\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DrillMap"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new drill map is created successfully in the changeset\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DrillMap"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/drillMaps/{drillMapId}" : {
      "get" : {
        "tags" : [ "Drill Maps" ],
        "summary" : "Read a drill map",
        "description" : "The response returns the definition of a single drill map.\n\nThe project ID is required to return a drill map's definition in metadata.\nThe changeset ID is required to return a drill map's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDrillMap",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "drillMapId",
          "in" : "path",
          "description" : "Drill Map ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Drill map's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DrillMap"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Drill Maps" ],
        "summary" : "Update a drill map",
        "description" : "Updates a specific drill map in the changeset, based on the definition provided in the request body. It returns the drill map's updated definition in the changeset.\n\nThe modeling service performs a full validation for each part of the body. If something is wrong, an error is reported.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putDrillMap",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "drillMapId",
          "in" : "path",
          "description" : "Drill Map ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        } ],
        "requestBody" : {
          "description" : "The drill map's definition\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DrillMap"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Drill map's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DrillMap"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/prompts" : {
      "post" : {
        "tags" : [ "Prompts" ],
        "summary" : "Create a prompt",
        "description" : "Creates a new prompt in the changeset, based on the definition provided in request body. The definition of the newly created prompt is returned in response.\n\nPrompts have different subtypes. Currently, we support the following subtypes:\n  * Expression Hierarchy: This prompt is defined on the hierarchy object.\n  * Expression Attribute: This prompt is defined on the attribute object.\n  * Expression Metric: This prompt is defined on the metric object.\n  * Object: This prompt is defined on objects, not including folders under a project.\n  * Attribute Element: This prompt is defined on an attribute element.\n  * Value: This prompt is defined on a value, such as double, long, text, date, or big decimal.\n\nIn the request body, there are four main parts:\n  * Information: Stores basic prompt information such as name, subType, destinationFolderId, etc. subType and name are required fields.\n  * Question: The main definition for the prompt. The contents are different based on the prompt type. For example, Expression Hierarchy stores a list of predefined hierarchies or a search object.\n  * DefaultAnswer: Stores the default answer for the prompt. The contents are different based on prompt type. For example, Expression Hierarchy stores an expression in the \"tree\" format. If there is a custom expression in the expression, the custom expression must contain the \"tree\" format.\n  * Restriction: Stores some control flags for the prompt. For example, personal answers allowed flag, min flag, max flag, etc.\n\nIn addition to the main parts, there are three other keys in the body. These are title, instruction, and expressionType. 'expressionType' is necessary when the subtype in the Information part is 'prompt_expression'. It is used to differentiate the three expression types for the prompt. The mapping between 'expressionType' and prompt type is as follows:\n  * attribute -> expression attribute\n  * hierarchy -> expression hierarchy\n  * metric    -> expression metric\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created prompt to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postPrompt",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The prompt's definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Prompt"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new prompt is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Prompt"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/prompts/{promptId}" : {
      "get" : {
        "tags" : [ "Prompts" ],
        "summary" : "Read a prompt",
        "description" : "The response returns the definition of a single prompt.\n\nThe project ID is required to return a prompt's definition in metadata.\nThe changeset ID is required to return a prompt's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getPromptDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Prompt's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Prompt"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Prompts" ],
        "summary" : "Update a prompt",
        "description" : "Updates a specific prompt in the changeset, based on the definition provided in the request body. It returns the prompt's updated definition in the changeset.\n\nIn the request body, \"defaultAnswer.qualification\" must be in \"tree\" format.\n\nThe Modeling server performs a full validation for each part of the body. If something is wrong, an error is reported.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putPrompt",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "promptId",
          "in" : "path",
          "description" : "Prompt ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the prompt.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Prompt"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The prompt's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Prompt"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/securityFilters" : {
      "post" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Create a security filter",
        "description" : "Creates a new security filter in the changeset, based on the definition provided in request body. The definition of the newly created security filter is returned in response.\n\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created security filter to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The security filter's definition. A security filter's \"qualification\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SecurityFilter"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new security filter is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/securityFilters/{securityFilterId}" : {
      "get" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Read a security filter",
        "description" : "The response returns the definition of a single security filter.\n\nThe project ID is required to return a security filter's definition in metadata.\nThe changeset ID is required to return a security filter's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getSecurityFilterDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showResolved",
          "in" : "query",
          "description" : "Specify whether return resolved security filter for the system prompt security filter.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The security filter’s definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Security Filters" ],
        "summary" : "Update a security filter",
        "description" : "Updates a specific security filter in the changeset, based on the definition provided in the request body. It returns the security filter's updated definition in the changeset.\n\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFields",
          "in" : "query",
          "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "acl" ]
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the security filter.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SecurityFilter"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The security filter's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/derivedElements" : {
      "post" : {
        "tags" : [ "Derived Elements" ],
        "summary" : "Create a derived element",
        "description" : "This API creates a derived element in this changeset. When creating a derived element, the API also creates a list of the derived element's elements defined in\nthe request body and then returns the full definition of the newly created derived element.\n\nThe request body must include the _objectInfoReference_ of the attribute whose attribute elements you intend to group. Please provide destinationFolderId, it is\nrequired for the object to be committed to metadata.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo add the newly created derived element to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-postDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide at least the attribute whose attribute elements you intend to group.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DerivedElementRequestBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns a full definition of the newly created derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/derivedElements/{derivedElementId}" : {
      "get" : {
        "tags" : [ "Derived Elements" ],
        "summary" : "Read a derived element",
        "description" : "This API gets a detailed definition for a specified derived element.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. An attribute field describes the object\nreference information of the attribute whose attribute elements the API intends to group. The elements field describes how the attribute elements are grouped\ntogether. Each element groups several attribute elements by either a list, filter, or calculation. A special element that groups all attribute elements that\nare not in other elements is an _all other_ element.\n\nThe project ID is required to return a derived element's definition in metadata. The changeset ID is required to return a derived element's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "derivedElementId",
          "in" : "path",
          "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Derived Elements" ],
        "summary" : "Update a derived element",
        "description" : "This API replaces the detailed definition of the specified derived element in the changeset.\n\nThe API first clears the current definition defined in this derived element, then builds the new definition according to the information provided\nin the request body. Please note that the API does not change the object ID of the specified derived element.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo replace the derived element's definition in metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-putDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "derivedElementId",
          "in" : "path",
          "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide at least the attribute whose attribute elements you intend to group.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DerivedElementRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the replaced derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/projects/{projectId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get the list of applicable properties for a given project.",
        "description" : "Returns the list of applicable properties for a given project object.\nThe list is based on project's \"type\" which means that the result should be the same for all the project objects.\n\nThe project ID in the header is required to return the project's applicable properties in metadata. The changeset ID is required to return the project's applicable properties within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getProjectApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given project is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/projects/{projectId}" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Read advanced property of a project",
        "description" : "This API gets the definition of a specified project and the list of its advanced properties.\nThe information field describes the common object information such as the object ID, creation time, version ID, etc.\n        showAdvancedProperties=true query parameter is mandatory for the API to return the list of advanced properties.\n\nThe project ID in the header is required to return the project's definition in metadata. The changeset ID is required to return the project's definition within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, this API returns the full definition of a specified project.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ProjectDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Update advanced property of a project",
        "description" : "This API updates the list of project's advanced properties.\nAn information field describes the common object information such as the object ID, creation time, version ID, etc.\nshowAdvancedProperties=true query parameter is mandatory for the API to return the list of advanced properties.\nUser can only update \"value\" field, all other fields are read-only.\n\nThe changeset ID is required to update a project's advanced properties.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-putProject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "projectId",
          "in" : "path",
          "description" : "Project ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide the request body that defines the project.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ProjectRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the full definition of the project with updated property values.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ProjectDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datasources/{datasourceId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Get the list of applicable properties for a given datasource.",
        "description" : "Returns the list of applicable properties for a given datasource object.\nThe list is based on datasources's type and it's database type.\nFor MDX datasource type, an additional filtering check on object's XDAType is being performed.\n\nThe project ID in the header is required to return the datasource's applicable properties in metadata. The changeset ID is required to return a datasource's applicable properties within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDatasourceApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datasourceId",
          "in" : "path",
          "description" : "Datasource ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given datasource is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datasources/{datasourceId}" : {
      "get" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Read advanced property of a datasource",
        "description" : "This API gets the definition for a specified datasource and a list of its advanced properties.\nThe information field describes the common object information such as the object ID, creation time, version ID, etc.\nshowAdvancedProperties=true query parameter is mandatory for the API to return the list of advanced properties.\n\nThe project ID in the header is required to return the datasource's definition in metadata. The changeset ID is required to return the datasource's definition within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "datasourceId",
          "in" : "path",
          "description" : "Datasource ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified datasource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ProjectDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Datasource Management" ],
        "summary" : "Update advanced property of a datasource",
        "description" : "This API updates the list of datasource's advanced properties.\nAn information field describes the common object information such as the object ID, creation time, version ID, etc.\nshowAdvancedProperties=true query parameter is mandatory for the API to return the list of advanced properties.\nUser can only update \"value\" field, all other fields are read-only.\n\nThe changeset ID is required to update a datasource's advanced properties.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-putDatasource",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "datasourceId",
          "in" : "path",
          "description" : "Datasource ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide the request body that defines the datasource.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DatasourceRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the replaced.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DatasourceDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/consolidations" : {
      "post" : {
        "tags" : [ "Consolidations" ],
        "summary" : "Create a consolidation",
        "description" : "This API creates a consolidation in this changeset. When creating a consolidation, the API also creates a list of the embedded consolidation elements defined in\nthe request body and then returns the full definition of the newly created consolidation.\n\nPlease provide destinationFolderId, it is required for the object to be committed to metadata. The user can include the _objectInfoReference_ of the drillMap, the\nsubtotal option in the request body.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo add the newly created consolidation to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-postConsolidation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide the request body that defines the consolidation.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ConsolidationRequestBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns a full definition of the newly created consolidation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ConsolidationDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/consolidations/{consolidationId}" : {
      "get" : {
        "tags" : [ "Consolidations" ],
        "summary" : "Read a consolidation",
        "description" : "This API gets a detailed definition for a specified consolidation.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. A drillMap field describes the object\nreference information of the drillMap that can be used when drilling. The elements field describes embedded consolidation elements defined in this consolidation.\nA subtotal field describes the aggregation behavior and  is disabled by default.\n\nThe project ID is required to return a consolidation's definition in metadata. The changeset ID is required to return a consolidation's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getConsolidation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "consolidationId",
          "in" : "path",
          "description" : "Consolidation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified consolidation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ConsolidationDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Consolidations" ],
        "summary" : "Update a consolidation",
        "description" : "This API replaces the detailed definition of the specified consolidation in the changeset.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo replace the consolidation's definition in metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-putConsolidation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "consolidationId",
          "in" : "path",
          "description" : "Consolidation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide the request body that defines the consolidation.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ConsolidationRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the replaced consolidation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ConsolidationDefinition"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/hierarchies" : {
      "get" : {
        "tags" : [ "User Hierarchies" ],
        "summary" : "Get a list describing all available user hierarchies",
        "description" : "This API gets a list of user hierarchies. The response describes all user hierarchies you can view or modify.\n\nThe project ID is required to return all user hierarchy definitions in metadata. The changeset ID is required to return all user hierarchy definitions within a specific changeset. To execute the request, provide either the project ID or changeset ID. If you provide both, only the changeset ID is used.\n\nImmediately after creating a changeset, this list displays all user hierarchies available in the schema. If the caller creates new user hierarchies or deletes existing ones, the list of user hierarchies obtained by this call is updated to reflect the change.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getHierarchies",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of user hierarchies with specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetHierarchiesResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "User Hierarchies" ],
        "summary" : "Create a user hierarchy",
        "description" : "Creates a new user hierarchy in the changeset, based on the definition provided in request body. The definition of the newly created user hierarchy is returned in response.\n\nUser hierarchies have different subtypes. Currently, we support the following subtypes:\n * dimension_user: This user hierarchy is for drilling.\n * dimension_user_hierarchy: This user hierarchy is for browsing.\n\nIn the request body, there are four main parts:\n * Information: Stores basic user hierarchy information such as name, subType, destinationFolderId, etc. name is required field.\n * UseAsDrillHierarchy: This Boolean field indicates the user hierarchy subtype. False means the subtype is dimension_user_hierarchy; otherwise, it is dimension_user. This field is required.\n * Attributes: Stores the hierarchy attributes for the user hierarchy in a list. Each hierarchy attribute contains an objectId, name, entryPoint, filters, elementDisplayOption, and limit. objectId, entryPoint, and elementDisplayOption are required fields. \n * Relationships: Stores the hierarchy relationships for the user hierarchy in a list. Each hierarchy relationship contains parent, and child. parent and child are required fields.\n\nEach user hierarchy should have at least one entry attribute for browsing. The entryPoint field in a hierarchy attribute is Boolean. It indicates whether the current attribute is a single entry point attribute.\n\nUsers can define filters and element display options to control element display for each hierarchy attribute.\n\nElementDisplayOption contains the following values:\n  * all_elements: This attribute shows all elements when browsing.\n  * no_elements: This attribute does not show any elements when browsing.\n  * limited_elements: This attribute shows limited elements when browsing, within the defined limit. The limit field is only required for limited_elements.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created user hierarchy to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-createHierarchy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The user hierarchy's definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-UserHierarchy"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new user hierarchy is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-UserHierarchy"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/hierarchies/{hierarchyId}" : {
      "get" : {
        "tags" : [ "User Hierarchies" ],
        "summary" : "Read a user hierarchy",
        "description" : "The response returns the definition of a user hierarchy.\n\nThe project ID is required to return a user hierarchy's definition in metadata. The changeset ID is required to return a user hierarchy's definition within a specific changeset. To execute the request, provide either the project ID or changeset ID. If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getHierarchy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hierarchyId",
          "in" : "path",
          "description" : "Hierarchy ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The hierarchy's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-UserHierarchy"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "User Hierarchies" ],
        "summary" : "Update a user hierarchy",
        "description" : "Updates a specific user hierarchy in the changeset, based on the definition provided in the request body. It returns the hierarchy's updated definition in the changeset. \n\nThe Modeling server performs a full validation for each part of the body. If the definition is incorrect, an error is reported.\n\nFor a normal user hierarchy, you can update the following fields: name, subType, attributes, and relationships. To change the user hierarchy subtype, update the UseAsDrillHierarchy field. For attributes, you can update filters and elementDisplayOption. If elementDisplayOption is set to limited_elements, you can also update the limit.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-updateHiearchy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "hierarchyId",
          "in" : "path",
          "description" : "Hierarchy ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the user hierarchy.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-UserHierarchy"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The user hierarchy's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-UserHierarchy"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/metrics" : {
      "post" : {
        "tags" : [ "Metrics" ],
        "summary" : "Create a metric",
        "description" : "Creates a new metric in the changeset, based on the definition provided in request body. The definition of the newly created metric is returned in response.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a metric expression is \"Sum(Cost)\". When the metric expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"Cost\", Cost_ID), (\")\").\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created metric to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the \"condition\" in threshold is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe \"condition\" in threshold is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a condition's qualification.\n* \"tree\": A tree data structure fully defining the condition's qualification.\n* \"tokens\": A list of parsed tokens that define a condition's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The metric's definition. A metric's \"expression\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Metric"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new metric is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Metric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/metrics/{metricId}" : {
      "get" : {
        "tags" : [ "Metrics" ],
        "summary" : "Read a metric",
        "description" : "The response returns the definition of a single metric.\n\nThe project ID is required to return a metric's definition in metadata.\nThe changeset ID is required to return a metric's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getMetricDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the \"condition\" in threshold is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe \"condition\" in threshold is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a condition's qualification.\n* \"tree\": A tree data structure fully defining the condition's qualification.\n* \"tokens\": A list of parsed tokens that define a condition's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Metric's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Metric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Metrics" ],
        "summary" : "Update a metric",
        "description" : "Updates a specific metric in the changeset, based on the definition provided in the request body. It returns the metric's updated definition in the changeset.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a metric expression is \"Sum(Cost)\". When the metric expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"Cost\", Cost_ID), (\")\").\n\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether the \"condition\" in threshold is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe \"condition\" in threshold is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a condition's qualification.\n* \"tree\": A tree data structure fully defining the condition's qualification.\n* \"tokens\": A list of parsed tokens that define a condition's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the metric.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Metric"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The metric's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Metric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/metrics/{metricId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Metrics" ],
        "summary" : "Get the list of applicable properties for a given metric.",
        "description" : "Returns the list of applicable properties for a given metric object.\n\nThe project ID in the header is required to return the metric's applicable properties in metadata. The changeset ID is required to return a metric's applicable properties within a specific changeset, otherwise it's optional. To execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getMetricApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given metric is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/subtotals" : {
      "post" : {
        "tags" : [ "Subtotals" ],
        "summary" : "Create a subtotal",
        "description" : "Creates a new subtotal in the changeset, based on the definition provided in request body. The definition of the newly created subtotal is returned in response.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a subtotal expression is \"Sum(x)\". When the subtotal expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"x\"), (\")\").\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created subtotal to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postSubtotal",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The subtotal's definition. A subtotal's \"expression\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Subtotal"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new subtotal is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Subtotal"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/subtotals/{subtotalId}" : {
      "get" : {
        "tags" : [ "Subtotals" ],
        "summary" : "Read a subtotal",
        "description" : "The response returns the definition of a single subtotal.\n\nThe project ID is required to return a subtotal's definition in metadata.\nThe changeset ID is required to return a subtotal's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getSubtotalDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subtotalId",
          "in" : "path",
          "description" : "Subtotal ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Subtotal's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Subtotal"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Subtotals" ],
        "summary" : "Update a subtotal",
        "description" : "Updates a specific subtotal in the changeset, based on the definition provided in the request body. It returns the subtotal's updated definition in the changeset.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a subtotal expression is \"Sum(x)\". When the subtotal expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"x\"), (\")\").\n\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putSubtotal",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subtotalId",
          "in" : "path",
          "description" : "Subtotal ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the subtotal.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Subtotal"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The subtotal's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Subtotal"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/formulas" : {
      "post" : {
        "tags" : [ "Base Formulas" ],
        "summary" : "Create a base formula",
        "description" : "Creates a new base formula in the changeset, based on the definition provided in request body. The definition of the newly created base formula is returned in response.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a base formula expression is \"Sum(Cost)\". When the base formula expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"Cost\", Cost_ID), (\")\").\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created base formula to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postFormula",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The base formula's definition. A base formula's \"expression\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-BaseFormula"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new base formula is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-BaseFormula"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/formulas/{formulaId}" : {
      "get" : {
        "tags" : [ "Base Formulas" ],
        "summary" : "Read a base formula",
        "description" : "The response returns the definition of a single base formula.\n\nThe project ID is required to return a base formula's definition in metadata.\nThe changeset ID is required to return a base formula's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getFormulaDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "formulaId",
          "in" : "path",
          "description" : "Base formula ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The base formula's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-BaseFormula"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Base Formulas" ],
        "summary" : "Update a base formula",
        "description" : "Updates a specific base formula in the changeset, based on the definition provided in the request body. It returns the base formula's updated definition in the changeset.\n\nIn the request body, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a base formula expression is \"Sum(Cost)\". When the base formula expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Sum\", Sum_ID), (\"(\"), (\"Cost\", Cost_ID), (\")\").\n\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putFormula",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "formulaId",
          "in" : "path",
          "description" : "Base formula ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the base formula.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-BaseFormula"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The base formula's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-BaseFormula"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/transformations" : {
      "post" : {
        "tags" : [ "Transformations" ],
        "summary" : "Create a transformation",
        "description" : "Creates a new transformation in the changeset, based on the definition provided in request body. The definition of the newly created transformation is returned in response.\n\nIn the request body, \"attributes\" contains a list of transformation attributes.\nEach transformation attribute contains \"baseAttribute\" and \"forms\".\n* \"baseAttribute\": refer to a normal attribute the transformation attribute based on.\n* \"forms\": a list of transformation attribute forms, which are generated according to base attribute key form. Each transformation attribute form contains:\n  * \"lookupTable\": required for the object to be commited to the metadata.\n  * \"expression\": Needs to be in either \"tree\" or \"tokens\" format. \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\n\nProvide \"mappingType\", to define a mapping relationship. It can be either \"one_to_one\" or \"many_to_many\".\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.      \n\nTo save the newly created transformation to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-createTransformation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The transformation's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Transformation"
              },
              "example" : {
                "information" : {
                  "name" : "New Transformation"
                },
                "attributes" : [ {
                  "baseAttribute" : {
                    "objectId" : "96ED3EC811D5B117C000E78A4CC5F24F"
                  },
                  "forms" : [ {
                    "id" : "45C11FA478E745FEA08D781CEA190FE5",
                    "lookupTable" : {
                      "objectId" : "24C30AD611D5AEC9C000E38A4CC5F24F"
                    },
                    "expression" : {
                      "tree" : {
                        "type" : "column_reference",
                        "columnName" : "PREV_DAY_DATE",
                        "objectId" : "24C30A8011D5AEC9C000E38A4CC5F24F"
                      }
                    }
                  } ]
                } ],
                "mappingType" : "one_to_one"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new transformation is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Transformation"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/transformations/{transformationId}" : {
      "get" : {
        "tags" : [ "Transformations" ],
        "summary" : "Read a transformation",
        "description" : "The response returns the definition of a single transformation.\n\nThe changeset ID can be obtained using the changeset creation API. \nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTransformation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transformationId",
          "in" : "path",
          "description" : "Transformation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The transformation's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Transformation"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Transformations" ],
        "summary" : "Update a transformation",
        "description" : "Updates a specific transformation in the changeset, based on the definition provided in the request body. It returns the transformation's updated definition in the changeset.\n\nIn the request body, \"attributes\" contains a list of transformation attributes.\nEach transformation attribute contains \"baseAttribute\" and \"forms\".\n* \"baseAttribute\": refer to a normal attribute the transformation attribute based on.\n* \"forms\": a list of transformation attribute forms, which are generated according to base attribute key forms. Each transformation attribute form contains:\n  * \"lookupTable\": required for the object to be commited to the metadata.\n  * \"expression\": Needs to be in either \"tree\" or \"tokens\" format. \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\n\nProvide \"mappingType\", to define a mapping relationship. It can be either \"one_to_one\" or \"many_to_many\".\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.      \n\nTo save the newly created transformation to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-updateTransformation",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transformationId",
          "in" : "path",
          "description" : "Transformation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the transformation.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Transformation"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Transformation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The transformation's defintion is updated successflly in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Transformation"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/timezones" : {
      "get" : {
        "tags" : [ "Timezones" ],
        "summary" : "Read all timezones",
        "description" : "This API gets a list of all available timezones.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. The baseTimezone field is a reference to system timezone\nobject, and it only exists for custom timezones. The currentOffset field shows the number of seconds current timezone is ahead of or behind UTC.\n\nSince timezones are configuration objects, the project ID is not required to return a timezone's definition in metadata. \nThe changeset ID is required to return a timezone's definition within a specific changeset.    \n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTimezones",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "subType",
          "in" : "query",
          "description" : "Specify which type of timezone shoud be returned. If not provided, all system and custom timezones will re returned.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "timezone_custom", "timezone_system" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of timezone objects' definitions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTimezonesResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Timezones" ],
        "summary" : "Create a custom timezone",
        "description" : "This API creates a custom timezone in current changeset. If the timezone is created successfully, the full definition of the newly created timezone will be returned.\n\nThe request body must include the _objectInfoReference_ of the base timezone. Base timezone must be a system timezone and user should have use access to it.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo add the newly created timezone to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-postTimezone",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The timezone definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-TimezoneRequestBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns the definition of the newly created timezone.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTimezoneResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/timezones/{timezoneId}" : {
      "get" : {
        "tags" : [ "Timezones" ],
        "summary" : "Read a timezone",
        "description" : "This API gets the definition for a specified timezone.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. The baseTimezone field is a reference to system timezone\nobject, and it only exists for custom timezones. The currentOffset shows the number of seconds current timezone is ahead of of behind UTC.\n\nSince timezones are configuration objects, the project ID is not required to return a timezone's definition in metadata. \nThe changeset ID is required to return a timezone's definition within a specific changeset.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTimezone",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "timezoneId",
          "in" : "path",
          "description" : "Timezone ID\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified timezone.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTimezoneResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Timezones" ],
        "summary" : "Update a custom timezone",
        "description" : "This API updates a custom timezone in current changeset. If the timezone is updated successfully, the full definition of the timezone will be returned.\n\nThe following fields can be updated: name and description in information field, baseTimezone\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo update the timezone to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-patchTimezone",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "timezoneId",
          "in" : "path",
          "description" : "Timezone ID\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The fields that need to be updated.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-TimezoneUpdateRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified timezone.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetTimezoneResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/calendars" : {
      "get" : {
        "tags" : [ "Calendars" ],
        "summary" : "Read all calendars",
        "description" : "This API gets a list of all available calendars.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. The baseCalendar field is a reference to system calendar\nobject, and it only exists for custom calendars. \n\nSince calendars are configuration objects, the project ID is not required to return a calendar's definition in metadata. \nThe changeset ID is required to return a calendar's definition within a specific changeset.    \n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getCalendars",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "information.subType",
          "in" : "query",
          "description" : "Specify which type of calendar is returned. If not provided, all system and custom calendars are returned.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "calendar_custom", "calendar_system" ]
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, baseCalendar”, only “information” and “baseCalendar” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of calendar objects' definitions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetCalendarsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Calendars" ],
        "summary" : "Create a custom calendar",
        "description" : "This API creates a custom calendar in the current changeset. If the calendar is created successfully, the full definition of the newly created calendar will be returned.\n\nA calendar has two subtypes **calendar_system** and **calendar_custom**. Currently, we only support creating custom calendars using this API.\n\nThe request body contains the following parts: \n * information: Describes the common object information such as name, subType, etc. A name is required.\n * baseCalendar: The _objectInfoReference_ of the base calendar. The base calendar must be a system calendar and the user should have use access to it. The objectId is required.\n * tablePrefix: Used to create tables in the warehouse for each calendar. The tablePrefix is required. \n * calendarBegin: Includes the dynamicYearOffset and staticYear fields. You can use a dynamic or static year. Either dynamicYearOffset or staticYear is required.\n * calendarEnd: Uses the same model with as calendarBegin, listed above. The calendarBegin should not come after calendarEnd. Either dynamicYearOffset or staticYear is required.\n * weekStartDay: The starting day of each week, such as Sunday. The weekStartDay is required.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo add the newly created calendar to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-createCalendar",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The calendar definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Calendar"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns the definition of the newly created calendar.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Calendar"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/calendars/{calendarId}" : {
      "get" : {
        "tags" : [ "Calendars" ],
        "summary" : "Read a calendar",
        "description" : "This API gets the definition for a specified calendar.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. The baseCalendar field is a reference to the system calendar\nobject, and it only exists for custom calendars. The tablePrefix is used to create tables in warehouse for each calendar. The calendarBegin and calendarEnd indicate the beginning year and the ending year for this\ncalendar. The weekStartDay indicates the starting day of the calendar.\n\nSince calendars are configuration objects, the project ID is not required to return a calendar's definition in metadata. \nThe changeset ID is required to return a calendar's definition within a specific changeset.\n\nA changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getCalendar",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "calendarId",
          "in" : "path",
          "description" : "Calendar ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified calendar.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Calendar"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Calendars" ],
        "summary" : "Update a custom calendar",
        "description" : "This API updates a custom calendar in the current changeset. If the calendar is updated successfully, the full definition of the calendar is returned.\n\nJust like the POST API request body, there are the following main parts:\n * information: Describes the common object information such as name, subType, etc. A name is required.\n * baseCalendar: The _objectInfoReference_ of the base calendar. The base calendar must be a system calendar and user should have use access to it. The objectId is required.\n * tablePrefix: Used to create tables in the warehouse for each calendar. The tablePrefix is required. \n * calendarBegin: Includes the dynamicYearOffset and staticYear fields. You can use a dynamic or static year. Either dynamicYearOffset or staticYear is required.\n * calendarEnd: Uses the same model as calendarBegin, listed above. The calendarBegin should not come after calendarEnd. Either dynamicYearOffset or staticYear is required.\n * weekStartDay: The starting day of each week, such as Sunday. The weekStartDay is required.\n\nThe following fields can be updated: name and description in the information field, objectId in baseCalendar, tablePrefix, calendarBegin, calendarEnd, and weekStartDay.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo update the calendar to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-updateCalendar",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "calendarId",
          "in" : "path",
          "description" : "Calendar ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The fields that need to be updated.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Calendar"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified calendar.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Calendar"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Create a new report through Modeling service",
        "description" : "Creates a new report based on the definition provided in request body. The definition of the newly created report is returned in response.\nThe definition can include \"information\", \"sourceType\", \"dataSource\", \"grid\", \"advancedProperties\" and \"timezone\".\n\nThe project ID is required to create a report in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo save the newly created report to the metadata, save report instance using save or saveAs API below.\n",
        "operationId" : "ms-postReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"drillOptions\": A list of properties related to the report drilling setting.\n* \"useDefaultEvaluationOrder\": A property decide the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The report's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ReportForPOST"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new report is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Report"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Read a report's definition through Modeling service",
        "description" : "Get a report's definition through Modeling Service. The definition includes \"information\", \"sourceType\", \"dataSource\", \"grid\" and perhaps \"advancedProperties\" and \"timezone\" if exist.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints\nSet \"Prefer\" to `respond-async` to execute this API asynchronously.\n",
        "operationId" : "ms-getReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"drillOptions\": A list of properties related to the report drilling setting.\n* \"useDefaultEvaluationOrder\": A property decide the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The report's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Report"
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Update a report's definition through Modeling service",
        "description" : "Update a report's definition through Modeling service, based on the definition provided in request body.\nUser can provide \"information\", \"sourceType\", \"dataSource\", \"grid\", \"advancedProperties\" and \"timezone\" in the request body, for the fields not given, they will not be updated.\nFor the report existed in metadata, the information field can only change description part.\nSet \"Prefer\" to `respond-async` to execute this API asynchronously, then the response code would be 202 if complete report definition is not ready, in other successful cases, the definition of the newly updated report is returned in response.\n",
        "operationId" : "ms-putReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"drillOptions\": A list of properties related to the report drilling setting.\n* \"useDefaultEvaluationOrder\": A property decide the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
          }
        } ],
        "requestBody" : {
          "description" : "The report's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Report"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The report's definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Report"
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/applicableVldbProperties" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Get the list of applicable properties for a given report.",
        "description" : "Get the list of applicable properties for a given report.\nThe list is returned based on report's xda type and report type.\nThe report's subtype must be in the following list: report_grid, report_graph, report_engine, report_grid_and_graph, an error is thrown otherwise.\nInstanceId header is needed for unsaved objects so they can be retrieved from the instance.\nInternationalized fields will be based on user's displayLocale from MicroStrategy Library session.\n",
        "operationId" : "ms-getReportVldbProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given report is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/instances" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Execute a report",
        "description" : "This API executes a specified report.\nA project ID is required to execute the request if X-MSTR-MS-Instance is not provided in the header. \nSet \"Prefer\" to `respond-async` to execute this API asynchronously. Use GET reports API to check the status of the instance. \n",
        "operationId" : "ms-createReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "A new report instance is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "id" : {
                      "type" : "string",
                      "description" : "report instance ID."
                    }
                  }
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted. \n"
          },
          "204" : {
            "description" : "Upon success, the API returns 204 to indicate the report is executed successful."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Reports" ],
        "summary" : "Delete a report instance",
        "description" : "This API deletes a report instance.\n",
        "operationId" : "ms-deleteReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Upon success, the API returns 204 to indicate the report instance is deleted successful."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/instances/save" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Save report through an instance.",
        "description" : "Save report through an instance.\nPrompt options can be set to control if filters and template of the report will be prompted next time you open the report, and if current answers to the prompts will be set as the default ones. \nIf a report is saved successfully, an ID is returned in the response body. This ID is an unique identifier of that report in metadata. \nThe instance's ID is required to execute this request. \n",
        "operationId" : "ms-saveReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The save options.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SaveRequestForReport"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "The report is saved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SaveResponseForReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/instances/saveAs" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Save a report definition to a specific folder, with a sepcific name, through an instance.",
        "description" : "Save a report definition to a specific folder, with a sepcific name, through an in-memory instance. \nPrompt options can be set to control if filters and template of the report will be prompted next time you open the report, and if current answers to the prompts will be set as the default ones. \nIf a report is saved successfully, an ID is returned in the response body. This ID is an unique identifier of that report in metadata. \nThe instance's ID is required to execute this request. \n",
        "operationId" : "ms-saveAsReportInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The save options.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SaveAsRequestForReport"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "The report is saved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SaveResponseForReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/derivedElements" : {
      "post" : {
        "tags" : [ "Reports" ],
        "summary" : "Create a derived element in report",
        "description" : "This API creates a derived element in report. When creating a derived element, the API also creates a list of the derived element's elements defined in\nthe request body and then returns the full definition of the newly created derived element.\n\nThe request body must include the _objectInfoReference_ of the attribute whose attribute elements you intend to group. For normal report and free form SQL report,\nthe attribute must exist in dataTemplate. For subset report, the attribute must exist in viewTemplate.\n\nA report instance ID is required to execute the request, and it can be obtained using the report instance creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nSet \"Prefer\" to `respond-async` to execute this API asynchronously. Use **GET** __/model/reports/{reportId}/derivedElements/{derivedElementId}__ API to check the status.\n\nThe newly created derived element will be saved to metadata together with report, using the **POST** __/model/reports/{reportId}/save__ API.\n",
        "operationId" : "ms-postReportDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide at least the attribute whose attribute elements you intend to group.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DerivedElementRequestBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns a full definition of the newly created derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted.        \n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/reports/{reportId}/derivedElements/{derivedElementId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "summary" : "Read a derived element in report",
        "description" : "This API gets a detailed definition for a specified derived element in report. The derived element must be refered in report template.\n\nAn information field describes the common object information such as the object ID, creation time, version ID, etc. An attribute field describes the object\nreference information of the attribute whose attribute elements the API intends to group. The elements field describes how the attribute elements are grouped\ntogether. Each element groups several attribute elements by either a list, filter, or calculation. A special element that groups all attribute elements that\nare not in other elements is an _all other_ element.\n\nA report instance ID is required to execute the request, and it can be obtained using the report instance creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getReportDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "derivedElementId",
          "in" : "path",
          "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted.\n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Reports" ],
        "summary" : "Update a derived element in report",
        "description" : "This API replaces the detailed definition of the specified derived element in the report. The derived element must be refered in report template.\nStandalone derived element cannot be updated using this API, please use **PUT** __/model/derivedElements/{derivedElementId}__ API instead.\n\nThe API first clears the current definition defined in this derived element, then builds the new definition according to the information provided\nin the request body. Please note that the API does not change the object ID of the specified derived element.\n\nA report instance ID is required to execute the request, and it can be obtained using the report instance creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nSet \"Prefer\" to `respond-async` to execute this API asynchronously. Use **GET** __/model/reports/{reportId}/derivedElements/{derivedElementId}__ API to check the status.\n\nThe newly created derived element will be saved to metadata together with report, using the **POST** __/model/reports/{reportId}/save__ API.\n",
        "operationId" : "ms-putReportDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "derivedElementId",
          "in" : "path",
          "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The client should provide at least the attribute whose attribute elements you intend to group.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DerivedElementRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the replaced derived element.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DerivedElementDefinition"
                }
              }
            }
          },
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted.  \n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Reports" ],
        "summary" : "Delete a specified derived element in report",
        "description" : "This API will delete the specified derived element in report. Please be noted that for standalone derived element, it will not be deleted from metadata.Instead, this API just removed the reference from report to standalone derived element.\n\nA report instance ID is required to execute the request, and it can be obtained using the report instance creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nSet \"Prefer\" to `respond-async` to execute this API asynchronously. Use **GET** __/model/reports/{reportId}/derivedElements/{derivedElementId}__ API to check the status.\n",
        "operationId" : "ms-deleteReportDerivedElement",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "reportId",
          "in" : "path",
          "description" : "Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "derivedElementId",
          "in" : "path",
          "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "Prefer",
          "in" : "header",
          "description" : "Set to `respond-async` to execute this API asynchronously. \n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "executionStage",
          "in" : "query",
          "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "The execute report (asynchronous call) request is accepted. \n"
          },
          "204" : {
            "description" : "The derived element has been deleted from report successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts" : {
      "post" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Create a datamart through the Modeling service",
        "description" : "Create a datamart. The API creates a datamart definition. This doesn't insert the data into the warehouse table.\nIn the request body, \"filter\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let's say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe project ID is required to create a datamart in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-createDatamart",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "sourceReportId",
          "in" : "query",
          "description" : "This parameter specifies whether you want to create the datamart definition based on a source report or from scratch.\n\n* If it is provided, the datamart definition is created based on the provided source report. Only \"information\" and \"datamartOptions\" in the datamart definition are needed in the request body. Other fields are ignored if provided\n* If it is not provided, the datamart definition is created from scratch. \"information\", \"sourceType\", \"dataSource\", and \"datamartOptions\" are required in the request body.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"useDefaultEvaluationOrder\": A property that determines the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\nIf omitted or `false`, nothing is returned for the advanced properties.\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The datamart definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Datamart"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A datamart is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Datamart"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts/{datamartId}" : {
      "get" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Get a specific datamart definition through the Modeling service",
        "description" : "Get a datamart definition. The definition includes information, sourceType, dataSource, datamartOptions, timezone and advancedProperties.     \n\nThe project ID is required to get a datamart in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDatamart",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"useDefaultEvaluationOrder\": A property that determines the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\nIf omitted or `false`, nothing is returned for the advanced properties.\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The datamart definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Datamart"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Update a specific datamart definition through the Modeling service",
        "description" : "Update a datamart definition. The definition includes information, sourceType, dataSource, datamartOptions, timezone and advancedProperties.     \n\nThe project ID is required to get a datamart in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-putDatamart",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"useDefaultEvaluationOrder\": A property that determines the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\nIf omitted or `false`, nothing is returned for the advanced properties.\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The datamart definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Datamart"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The datamart definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Datamart"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts/{datamartId}/applicableVldbProperties" : {
      "get" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Get the list of applicable properties for a given datamart.",
        "description" : "Get the list of applicable properties for a given datamart.\nThe list is returned based on object's xda type and report type.\nThe object's subtype must be datamart, an error is thrown otherwise.\nInstanceId header is needed for unsaved objects so they can be retrieved from the instance.\nInternationalized fields will be based on user's displayLocale from MicroStrategy Library session.\n",
        "operationId" : "ms-getDatamartVldbProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The list of applicable properties for given object is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts/{datamartId}/instances" : {
      "post" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Create an instance of a given datamart.",
        "description" : "Create an in-memory instance of a given datamart. The instance's ID is returned in the `X-MSTR-MS-Instance` response header.\nA project ID is required to create an in-memory instance from a datamart in the metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-createDatamartInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "The in-memory instance is created successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Delete an instance of a given datamart",
        "description" : "Delete an in-memory instance of a given datamart. \nThe instance's ID is required to delete an in-memory instance.\n",
        "operationId" : "ms-deleteDatamartInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Datamart instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The in-memory instance is deleted successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts/{datamartId}/instances/save" : {
      "post" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Save a datamart definition through an instance.",
        "description" : "Save a datamart definition through an in-memory instance. \nPrompt options can be set to control if filters and template of the datamart will be prompted next time you open the datamart, and if current answers to the prompts will be set as the default ones. \nIf a datamart is saved successfully, an ID is returned in the response body. This ID is an unique identifier of that datamart in metadata. \nThe instance's ID is required to execute this request. \n",
        "operationId" : "ms-saveDatamartInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Datamart instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The save options.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SaveRequestForDatamart"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The datamart definition is saved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SaveResponseForDatamart"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/datamarts/{datamartId}/instances/saveAs" : {
      "post" : {
        "tags" : [ "Datamarts" ],
        "summary" : "Save a datamart definition to a specific folder, with a sepcific name, through an instance.",
        "description" : "Save a datamart definition to a specific folder, with a sepcific name, through an in-memory instance. \nPrompt options can be set to control if filters and template of the datamart will be prompted next time you open the datamart, and if current answers to the prompts will be set as the default ones. \nIf a datamart is saved successfully, an ID is returned in the response body. This ID is an unique identifier of that datamart in metadata. \nThe instance's ID is required to execute this request.  \n",
        "operationId" : "ms-saveAsDatamartInstance",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Datamart instance ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "datamartId",
          "in" : "path",
          "description" : "Datamart ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "overwrite",
          "in" : "query",
          "description" : "Use this flag to overwrite an existing datamart through an in-memory instance. \n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The save options.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SaveAsRequestForDatamart"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The datamart definition is saved successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SaveResponseForDatamart"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/transactionReports" : {
      "post" : {
        "tags" : [ "Transaction Reports" ],
        "summary" : "Create a new transaction report through Modeling service",
        "description" : "Create a new transaction report based on the definition provided in the request body. The definition of the newly created transaction report is returned in response.\nThe definition includes \"information\" and \"table\".\n\nThe project ID is required to create a transaction report in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-postTransactionReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The transaction report's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-TransactionReport"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new transaction report is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TransactionReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/transactionReports/{transactionReportId}" : {
      "get" : {
        "tags" : [ "Transaction Reports" ],
        "summary" : "Get a specific transaction report definition through the Modeling service",
        "description" : "Get a transaction report's definition. The definition includes \"information\" and \"table\".\n\nThe project ID is required to get the transaction report in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getTransactionReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transactionReportId",
          "in" : "path",
          "description" : "Transaction Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The transaction report's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TransactionReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Transaction Reports" ],
        "summary" : "Update a specific transaction report definition through the Modeling service",
        "description" : "Update a transaction report's definition. The definition includes \"information\" and \"table\".\n\nThe project ID is required to get the transaction report in metadata. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-putTransactionReport",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Instance",
          "in" : "header",
          "description" : "Report instance ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "transactionReportId",
          "in" : "path",
          "description" : "Transaction Report ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The transaction report's definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-TransactionReport"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The transaction report's definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TransactionReport"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new data model",
        "description" : "Create a new data model based on the definition provided in the request body. The definition of the newly created data model is returned in response. When creating a new data model, a schema folder will be created. Other data model objects will be stored in this schema folder by default.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-postDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The data model's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModel"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new data model is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a data model",
        "description" : "This API gets the definition for a specified data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a full definition of the specified data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a data model",
        "description" : "This API updates the definition for a specified data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-updateDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The updated data model definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModel"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the updated definition of the specified data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/folders" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all folders in the data model",
        "description" : "This API gets all folders in the data model. The query parameters `offset` and `limit` can be used to paginate the results. Objects in each folder will be listed in the `content` field.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelFolders",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of folder objects' definitions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "offset" : {
                      "type" : "integer",
                      "description" : "The offset of the returned collection."
                    },
                    "limit" : {
                      "type" : "integer",
                      "description" : "The limit of the returned collection."
                    },
                    "total" : {
                      "type" : "integer",
                      "description" : "The total number of folders in the data model."
                    },
                    "folders" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-DataModelFolder"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new folder in the data model",
        "description" : "This API creates a new folder in the data model. Only `name` and `destinationFolderId` in the request body will be used to create the folder. The default destination folder is the data model schema folder.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-createDataModelFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The folder to create.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelFolderUpdateBody"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns the created folder object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelFolder"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/folders/{folderId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a folder in the data model",
        "description" : "This API gets a specific folder in the data model. Objects in the folder will be displayed in the `content` field.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "description" : "Data Model Folder ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the folder object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelFolder"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete a folder in the data model",
        "description" : "This API deletes a specific folder in the data model. After deletion, objects in the folder will be moved to the parent folder.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-deleteDataModelFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "description" : "Data Model Folder ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Upon success, the API returns no content."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a folder in the data model",
        "description" : "This API updates a specific folder in the data model. You can only update the name and destination folder ID of the folder.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-updateDataModelFolder",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "description" : "Data Model Folder ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The folder to update.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelFolderUpdateBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the updated folder object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelFolder"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/tables" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get all tables in the data model",
        "description" : "This API gets a list of tables in the data model. The query parameters `offset` and `limit` can be used to paginate the results. The list of tables will be returned in the `tables` field.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelTables",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showDerivedColumns",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show derived columns or not, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Derived columns are created and referenced by the derived latitude and longitude forms.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showRelationshipCandidates",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show relationship candidates or not.\nSet to false by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of tables with specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelTablesResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a table in the data model",
        "description" : "This API creates a table in the data model. Provide pipeline in the request body to create a new table. The pipeline is a stringified JSON object created/edited by the data server. If you want to create a table alias, just provide physical table information in the request body\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-addDataModelTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showDerivedColumns",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show derived columns or not, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Derived columns are created and referenced by the derived latitude and longitude forms.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The table definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelTableAdd"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Upon success, the API returns the newly created table definition with specific field information.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelTable"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/tables/{tableId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a table in the data model",
        "description" : "This API gets a detailed definition for a specified table in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showDerivedColumns",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show derived columns or not, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Derived columns are created and referenced by the derived latitude and longitude forms.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showRelationshipCandidates",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show relationship candidates or not.\nSet to false by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the table definition with specific field information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelTable"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete a specified table in the data model",
        "description" : "This API will delete a specified table from the data model. Objects that use columns from this table will be deleted from the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-deleteDataModelTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The table has been deleted from the data model successfully.\n"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a table in the data model",
        "description" : "This API updates a detailed definition for a specified table in the data model. In `physicalTable`, only physical table ID and pipeline can be updated. If columns currently used by other data model objects are deleted when updating the table, those objects will be deleted as well.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-patchDataModelTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showDerivedColumns",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show derived columns or not, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Derived columns are created and referenced by the derived latitude and longitude forms.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The table definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelTable"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the updated table definition with specific field information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelTable"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling Service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-TableError"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/metrics" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all metrics in the data model",
        "description" : "This API gets a list of all metrics in the data model. The query parameters `offset` and `limit` can be used to paginate the results.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelMetrics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of metric objects' definitions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelMetricsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new metric in the data model",
        "description" : "This API creates a new metric in the data model based on the definition provided in the request body. The definition of the newly created metric is returned in response. Metrics are calculations based on other attributes, metrics or base metrics. They can represent complex business formulas—such as ratios—and may include conditions or level-aware aggregations.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-postDataModelMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The metric's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-AdvancedMetric"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new metric is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AdvancedMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/metrics/{metricId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a metric in the data model",
        "description" : "This API gets a specific metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the metric object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AdvancedMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a metric in the data model",
        "description" : "This API updates a specific metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-updateDataModelMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The updated metric definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-AdvancedMetric"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The metric is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AdvancedMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete a metric in the data model",
        "description" : "This API deletes a specific metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-deleteDataModelMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The metric is deleted successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/metrics/{metricId}/applicableAdvancedProperties" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get applicable advanced properties for a data model metric",
        "description" : "This API retrieves the list of advanced properties that can be applied to a specific metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getApplicableAdvancedProperties",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showSqlPreview",
          "in" : "query",
          "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "A list of applicable advanced properties is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ms-ApplicableVldbProperties"
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/metrics/{metricId}/embeddedObjects" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create an embedded object in a data model metric",
        "description" : "This API creates an embedded object in a specified metric in the data model. The definition of the newly created embedded object is returned in response.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-postDataModelMetricEmbeddedObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The embedded object definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new embedded object is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/metrics/{metricId}/embeddedObjects/{embeddedObjectId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Get an embedded object in a data model metric",
        "description" : "This API retrieves a specific embedded object from a specified metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelMetricEmbeddedObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "embeddedObjectId",
          "in" : "path",
          "description" : "Embedded Object ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The requested embedded object is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update an embedded object in a data model metric",
        "description" : "This API updates a specific embedded object in a specified metric in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-updateDataModelMetricEmbeddedObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "metricId",
          "in" : "path",
          "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "embeddedObjectId",
          "in" : "path",
          "description" : "Embedded Object ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The updated embedded object definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The updated embedded object is returned.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/objects/{objectId}/acl" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read acl of an object in data model",
        "description" : "This API gets the access control list of a specified object in data model.\nGranted field describes the access rights granted to user.\nDenied field describes the access rights denied to user.\n",
        "operationId" : "ms-getDataModelObjectAcl",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "objectId",
          "in" : "path",
          "description" : "An identifier for an _object_ that the client wishes to invoke.\nThis parameter is used when a method could act upon more than one type of object.\nSince an object must always have a type the API will always provide some other mechanism\nto supply a type for the object.\n\nThere are three possible sources for an object id:\n* The id could be the _object id_ already used within the metadata to identify the object.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed object that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new object by the client.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "subType",
          "in" : "query",
          "description" : "String literal used to identify the subtype of a metadata object.",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns an access control list of all assigned users and their corresponding access rights.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelObjectAclResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update acl of an object in data model",
        "description" : "This API updates the access control list of a specified object in data model.\n\nIf granted and denied are both 0, the user will be removed from access control list.\n\nIf current object is a folder, following two properties can be given:\n  * propagateAclToChildren: specify whether propagate current folder acl to its children\n  * propagationBehavior: specify whether to overwrite children's acl\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo update the acl to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-updateDataModelObjectAcl",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "objectId",
          "in" : "path",
          "description" : "An identifier for an _object_ that the client wishes to invoke.\nThis parameter is used when a method could act upon more than one type of object.\nSince an object must always have a type the API will always provide some other mechanism\nto supply a type for the object.\n\nThere are three possible sources for an object id:\n* The id could be the _object id_ already used within the metadata to identify the object.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed object that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new object by the client.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "subType",
          "in" : "query",
          "description" : "String literal used to identify the subtype of a metadata object.",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          }
        } ],
        "requestBody" : {
          "description" : "An access control list of all assigned users and their corresponding access rights.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelObjectAcl"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelObjectAcl"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "On success the API returns an access control list of all assigned users and their corresponding access rights.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelObjectAclResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/objects/{objectId}/translations" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read translations of an object in data model",
        "description" : "This API gets the translations of a specified object in data model.\n",
        "operationId" : "ms-getDataModelObjectTranslations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "objectId",
          "in" : "path",
          "description" : "An identifier for an _object_ that the client wishes to invoke.\nThis parameter is used when a method could act upon more than one type of object.\nSince an object must always have a type the API will always provide some other mechanism\nto supply a type for the object.\n\nThere are three possible sources for an object id:\n* The id could be the _object id_ already used within the metadata to identify the object.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed object that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new object by the client.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "subType",
          "in" : "query",
          "description" : "String literal used to identify the subtype of a metadata object.",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns translations of the specified object in data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelObjectTranslationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update translations of an object in data model",
        "description" : "This API updates the translations of a specified object in data model.\nIf you want to clear translation for a specific locale, set the translation value to an empty string.\n\nA changeset ID is required to execute the request, and it can be obtained using the changeset creation API. An authorization token is required to execute the request\nand can be obtained using Authentication endpoints.\n\nTo update the translations to metadata, commit using the **POST** __/model/{changesetId}/commit__ API.\n",
        "operationId" : "ms-updateDataModelObjectTranslations",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "objectId",
          "in" : "path",
          "description" : "An identifier for an _object_ that the client wishes to invoke.\nThis parameter is used when a method could act upon more than one type of object.\nSince an object must always have a type the API will always provide some other mechanism\nto supply a type for the object.\n\nThere are three possible sources for an object id:\n* The id could be the _object id_ already used within the metadata to identify the object.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed object that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new object by the client.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "subType",
          "in" : "query",
          "description" : "String literal used to identify the subtype of a metadata object.",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          }
        } ],
        "requestBody" : {
          "description" : "The translations need to be updated.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelObjectTranslation"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelObjectTranslation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns the current translations for specified object.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelObjectTranslationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/securityFilters" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all security filters in the data model",
        "description" : "This API gets a list of all security filters in the data model.\n",
        "operationId" : "ms-getDataModelSecurityFilters",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of security filter objects' definitions.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelSecurityFiltersResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new security filter in the data model",
        "description" : "Create a new security filter in the data model, based on the definition provided in the request body. The definition of the newly created security filter is returned in response.\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\nFor custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created security filter to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postDataModelSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The data model security filter's definition. A security filter's \"qualification\" is in \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SecurityFilter"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new data model security filter is created successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/securityFilters/{securityFilterId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a security filter in the data model",
        "description" : "The response returns the definition of a single security filter.\n\nThe project ID is required to return a security filter's definition in metadata.\nThe changeset ID is required to return a security filter's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The security filter’s definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a security filter in the data model",
        "description" : "Update a security filter in the data model, based on the definition provided in the request body. It returns the security filter's updated definition in the changeset.\n\nIn the request body, \"qualification\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For custom expressions, \"expression\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used. For inline custom expressions, only the \"tree\" format is supported.\n\n* Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the updated security filter to metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putDataModelSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showFilterTokens",
          "in" : "query",
          "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the security filter.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-SecurityFilter"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The data model security filter's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-SecurityFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete a security filter in the data model",
        "description" : "This API deletes a security filter in the data model.\nThe changeset ID is required to execute the request, and it can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo delete the security filter from metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-deleteDataModelSecurityFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "securityFilterId",
          "in" : "path",
          "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The data model security filter has been deleted from the changeset successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/hierarchy" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all relationships in the data model hierarchy",
        "description" : "This API gets a list of all relationships in the data model hierarchy.\n",
        "operationId" : "ms-getDataModelHierarchy",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of all relationships in the data model hierarchy.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelHierarchy"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/attributes" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all attributes in the data model",
        "description" : "This API gets a list of all attributes in the data model.\n",
        "operationId" : "ms-getDataModelAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showSubscriptionFilterCandidatesOnly",
          "in" : "query",
          "description" : "This parameter specifies whether to return only the subscription filter candidate attributes in the response.\nIf `true`, the response will include only subscription filter candidate attributes.\nIf `false` or omitted, the response will include all data model attributes.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of attribute objects' definitions in the data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelAttributesResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new attribute in the data model",
        "description" : "Create a new attribute in the data model, based on the definition provided in the request body. The definition of the newly created attribute is returned in response.\n\nIn the request body, \"forms\" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms. \nEach attribute form contains: \n* \"expressions\": A list of attribute form expressions. Attribute form contains one or more attribute form expressions. Each attribute form expression contains \"expression\" and \"tables\".  \n  * ”expression”: Needs to be in either \"tree\" or \"tokens\" format. \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say an attribute form expression is \"Year - 10\". When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Year_ID\", Year_column_ID), (\"-\", Minus_ID), (\"10\", Constant).\n  * \"tables\": A list of data model's tables that the \"expression\" applies to.   \n* \"dataType\" and \"alias\" are optional. If omitted, they are calculated based on the first attribute form expression. \n* \"childForms\" is specific to a form group, which contains the reference for child forms\n\nProvide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using \"attributeLookupTable\", or the attribute form level using \"lookupTable\". If \"LookupTable\" is defined at the attribute form level, it is used, or it falls back to \"attributeLookupTable\". \n\nProvide \"keyForm\" and \"displays\", as they are required for the attribute to be committed to the metadata.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created attribute to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postDataModelAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "allowLink",
          "in" : "query",
          "description" : "This parameter specifies whether to allow linking to another attribute in the same data model.\nIf `true`, linking to another attribute in the same data model is allowed.\nIf `false` or omitted, the attribute cannot be linked to another attribute in the same data model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "The data model attribute's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelAttribute"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new data model attribute is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/attributes/{attributeId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read an attribute in the data model",
        "description" : "The response returns the definition of a single attribute in the data model.\n\n\"relationships\" is a read-only field and it returns the relationship(s) of this attribute as a set of tuples (pairs of related attributes) with their relationship type (1-N, 1-1, etc.) and corresponding relationship table.\nIt contains the same information as GET /model/dataModels/{dataModelId}/attributes/{attributeId}/relationships. \nTo update the relationship(s) of the attribute, use PUT /model/dataModels/{dataModelId}/attributes/{attributeId}/relationships.\n\nThe project ID is required to return an attribute's definition in the metadata. \nThe changeset ID is required to return an attribute's definition within a specific changeset. \nTo execute the request, either the project ID or changeset ID needs to be provided. \nIf both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API. \nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The attribute’s definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete an attribute in the data model",
        "description" : "This API deletes an attribute in the data model.\nThe changeset ID is required to execute the request, and it can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo delete the attribute from metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-deleteDataModelAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "This DELETE call does not return anything upon a successful execution."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update an attribute in the data model",
        "description" : "Update an attribute in the data model, based on the definition provided in the request body. It returns the attribute's updated definition in the changeset.\nThis request replaces the attribute's top-level fields with the new definition provided in the request body.\n\nIn the request body, \"forms\" contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms. \nEach attribute form contains: \n* \"expressions\": A list of attribute form expressions. Attribute form contains one or more attribute form expressions. Each attribute form expression contains \"expression\" and \"tables\".  \n  * ”expression”: Needs to be in either \"tree\" or \"tokens\" format. \n    * Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say an attribute form expression is \"Year - 10\". When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Year_ID\", Year_column_ID), (\"-\", Minus_ID), (\"10\", Constant).\n  * \"tables\": A list of data model's tables that the \"expression\" applies to.   \n* \"dataType\" and \"alias\" are optional. If omitted, they are calculated based on the first attribute form expression. \n* \"childForms\" is specific to a form group, which contains the reference for child forms\n\nProvide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using \"attributeLookupTable\", or the attribute form level using \"lookupTable\". If \"LookupTable\" is defined at the attribute form level, it is used, or it falls back to \"attributeLookupTable\". \n\nProvide \"keyForm\" and \"displays\", as they are required for the attribute to be committed to the metadata.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly updated attribute to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-patchDataModelAttribute",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "allowLink",
          "in" : "query",
          "description" : "This parameter specifies whether to allow linking to another attribute in the same data model.\nIf `true`, linking to another attribute in the same data model is allowed.\nIf `false` or omitted, the attribute cannot be linked to another attribute in the same data model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "showDerivedForms",
          "in" : "query",
          "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "requestBody" : {
          "description" : "1 or more top-level fields with the new definition of the attribute in the data model.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelAttribute"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelAttribute"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The data model attribute's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelAttribute"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/attributes/{attributeId}/relationships" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all relationship(s) of an attribute in the data model",
        "description" : "This API gets a list of all relationship(s) of a specified attribute in the data model as a set of tuples (pairs of related attributes) with their relationship type (1-N, 1-1, etc.) and corresponding relationship table.\n\nThe project ID is required to return an attribute's relationship(s) in metadata. \nThe changeset ID is required to return an attribute's relationship(s) within a specific changeset. \nTo execute the request, provide either project ID or changeset ID. If both are provided, only the changeset ID is used. \n\nThe changeset ID can be obtained using the changeset creation API.\nAn authentication token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelAttributeRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of all relationship(s) of the specified attribute in the data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AttributeRelationships"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update relationship(s) of an attribute in the data model",
        "description" : "Update a specific attribute's relationship(s) in the data model, based on the definition provided in the request body. It returns the updated relationship(s) in the changeset.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putDataModelAttributeRelationships",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The client passes in the relationships for the attribute.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-AttributeRelationships"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The relationship(s) of the specified attribute in the data model are updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-AttributeRelationships"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/attributes/{attributeId}/smartAttributes" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read smart attributes for a specific attribute in the data model",
        "description" : "This API retrieves the smart attributes associated with a specified attribute in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelSmartAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributes" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update smart attributes for a specific attribute in the data model",
        "description" : "This API updates the smart attributes associated with a specified attribute in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-updateDataModelSmartAttributes",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "object",
                "properties" : {
                  "smartAttributes" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-SmartAttribute"
                    }
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributes" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/attributes/{attributeId}/smartAttributes/templates" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read smart attribute templates for a specific attribute in the data model",
        "description" : "This API retrieves the available smart attribute templates for a specified attribute in the data model.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelSmartAttributeTemplates",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "attributeId",
          "in" : "path",
          "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "On success the API returns a list of available templates of smart attributes.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "smartAttributesTemplates" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/ms-SmartAttribute"
                      }
                    }
                  }
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/factMetrics" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all fact metrics in the data model",
        "description" : "This API gets a list of all fact metrics in the data model.\n",
        "operationId" : "ms-getDataModelFactMetrics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of fact metric objects' definitions in the data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelFactMetricsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new fact metric in the data model",
        "description" : "Create a new fact metric in the data model, based on the definition provided in the request body. The definition of the newly created fact metric is returned in response.\n\nIn the request body, each \"expression\" of \"fact.expressions\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created fact metric to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postDataModelFactMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "allowLink",
          "in" : "query",
          "description" : "This parameter specifies whether to allow linking to another attribute in the same data model.\nIf `true`, linking to another attribute in the same data model is allowed.\nIf `false` or omitted, the attribute cannot be linked to another attribute in the same data model.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The data model fact metric's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-FactMetric"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new data model fact metric is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-FactMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/factMetrics/{factMetricId}" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read a fact metric in the data model",
        "description" : "The response returns the definition of a single fact metric in the data model.\n\nThe project ID is required to return a fact metric's definition in metadata.\nThe changeset ID is required to return a fact metric's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided.  If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getDataModelFactMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "factMetricId",
          "in" : "path",
          "description" : "Fact Metric ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The fact metric’s definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-FactMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete a fact metric in the data model",
        "description" : "This API deletes a fact metric in the data model.\nThe changeset ID is required to execute the request, and it can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo delete the fact metric from metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-deleteDataModelFactMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "factMetricId",
          "in" : "path",
          "description" : "Fact Metric ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "This DELETE call does not return anything upon a successful execution."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update a fact metric in the data model",
        "description" : "Update a fact metric in the data model, based on the definition provided in the request body. It returns the fact metric's updated definition in the changeset.\nThis request replaces the fact metric's top-level fields with the new definition provided in the request body.\n\nIn the request body, each \"expression\" of \"fact.expressions\" needs to be in either \"tree\" or \"tokens\" format. If both are provided, only \"tree\" is used.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo save the newly updated fact metric to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-patchDataModelFactMetric",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "factMetricId",
          "in" : "path",
          "description" : "Fact Metric ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        }, {
          "name" : "showAdvancedProperties",
          "in" : "query",
          "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "fields",
          "in" : "query",
          "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "1 or more top-level fields with the new definition of the fact metric in the data model.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-FactMetric"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-FactMetric"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The data model fact metric's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-FactMetric"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/links" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all links in the data model",
        "description" : "This API gets a list of all links in the data model.\n",
        "operationId" : "ms-getDataModelLinks",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of links in the data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-GetDataModelLinksResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Data Models" ],
        "summary" : "Modify all links in the data model",
        "description" : "Modify all links in the data model, based on the list of links in the request body. The updated links are returned in response.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the updated links to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putDataModelLinks",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "A list of data model links' definition",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelLinks"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of updated links in the data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelLinks"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create a new link in the data model",
        "description" : "Create a new link in the data model, based on the definition provided in the request body. The definition of the newly created link is returned in response.\n\nIn the request body, \"targets\" contains the collections of objects to linked together. For the object in the current model, leave the \"externalDataModelId\" field empty.\nProvide a \"sourceObjectId\" to specify which object in \"targets\" collection should be considered as the source object.\nProvide an \"alias\" to modify the \"linkedAttribute\" object's name.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created link to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postDataModelLink",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The data model link's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-DataModelLink"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new data model link is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-DataModelLink"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/externalDataModels" : {
      "get" : {
        "tags" : [ "Data Models" ],
        "summary" : "Read all external data models in the current data model.",
        "description" : "This API gets a list of all external data models in the current data model.\n",
        "operationId" : "ms-getExternalDataModels",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Upon success, the API returns a list of external data models in the current data model.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ExternalDataModels"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Create an external data model in the data model",
        "description" : "Create an external data model in the data model, based on the definition provided in the request body. The definition of the newly created external data model is returned in response.\n\nIn the request body, \"baseDataModel\" contains the object reference about the base data model of the external data model.\nProvide an \"alias\" to modify the external data model's alias name.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created external data model to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postExternalDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The external data model's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModel"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new external data model is created successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ExternalDataModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/externalDataModels/{externalDataModelId}" : {
      "delete" : {
        "tags" : [ "Data Models" ],
        "summary" : "Delete an external data model from the current data model",
        "description" : "This API deletes an external data model from the current data model.\nThe changeset ID is required to execute the request, and it can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo delete the external data model from metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-deleteExternalDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "externalDataModelId",
          "in" : "path",
          "description" : "External Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "This DELETE call does not return anything upon a successful execution."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update an external data model in the current data model",
        "description" : "Update an external data model in the current data model, based on the definition provided in the request body. It returns the external data model's updated definition in the changeset.\n\nOnly \"alias\" field can be modified by this API.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo save the newly updated external data model to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-patchExternalDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "externalDataModelId",
          "in" : "path",
          "description" : "External Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "1 or more top-level fields with the new definition of the external data model in the current data model.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModel"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModel"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The external data model's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ExternalDataModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/externalDataModels/{externalDataModelId}/objects/{objectId}" : {
      "patch" : {
        "tags" : [ "Data Models" ],
        "summary" : "Update an external data model's object in the current data model.",
        "description" : "Update an external data model's object in the current data model, based on the definition provided in the request body. It returns the external data model's object's updated definition in the changeset.\n\nOnly \"hidden\" and \"alias\" fields can be modified by this API.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo save the newly updated external data model's object to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-patchExternalDataModelObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "externalDataModelId",
          "in" : "path",
          "description" : "External Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "externalDataModelObjectId",
          "in" : "path",
          "description" : "External Data Model Object ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "1 or more top-level fields with the new definition of the external data model's object in the current data model.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModelUnit"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModelUnit"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The external data model's object's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ExternalDataModelUnit"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/externalDataModels/refresh" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Refresh all external data models in the current data model.",
        "description" : "This API is used to refresh all external data models if their base data models have been changed. The changes of all external data models are returned in response.\n\nThe response includes three parts:\n  * \"externalDataModels\": the collection of external data models, which contains each external data model's changes.\n  * \"invalidLinks\": the collection of invalid links.\n  * \"invalidObjects\": the collection of invalid objects.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\nTo save the refreshed external data model to metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-refreshExternalDataModels",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "All external data models are refreshed successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-RefreshExternalDataModelsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/export" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Export a data model to YAML",
        "description" : "This API exports a Mosaic data model to a YAML file format to enable version control and management. The exported YAML file can be used to restore the data model to a previous state.\nThe export includes the complete data model definition including tables, attributes, metrics, facts, hierarchies, security filters, links, external data models, translations, and ACL settings. The response also includes a fingerprint (checksum) that can be used to verify the integrity of the exported data and detect if changes have been made since the export.\n**Important:** Creating new models or modifying objects directly from a YAML file is not supported. The YAML file can only be used to restore an existing model.\n**Prerequisites:**\n- To export a data model, you must have at least **Read** access to all objects in the model.\n- To export a data model that includes security filters, you must have **Control** access to the model.\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-exportDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The data model is exported successfully. The response contains the complete model definition in YAML format.",
            "content" : {
              "application/yaml" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-YamlModel"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/dataModels/{dataModelId}/restore" : {
      "post" : {
        "tags" : [ "Data Models" ],
        "summary" : "Restore a data model from YAML",
        "description" : "This API restores a Mosaic data model from a previously exported YAML file. The exported YAML file can be obtained using the export API.\n\nThe restore operation will update the data model with the provided YAML definition. If the fingerprint in the YAML file matches the current state of the data model, no changes will be made (indicating the model has not been modified since the export).\n\n**Important:** Creating new models or modifying objects directly from a YAML file is not supported. The YAML file can only be used to restore an existing model to a previous state.\n\n**Prerequisites:**\n- To restore a data model from a YAML file, you must have **Control** access to all objects in the model.\n\n**File Size Limit:**\n- The default maximum YAML file size is 10 MB.\n- To upload a larger file, modify the `modelservice.yaml.max-size-mb` setting in modelservice.conf and restart the Modeling Service.\n\nThe changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the restored data model to metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-restoreDataModel",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "dataModelId",
          "in" : "path",
          "description" : "Data Model ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "The exported YAML data model definition to restore. The YAML file must have been previously exported using the export API.",
          "content" : {
            "multipart/form-data" : {
              "schema" : {
                "required" : [ "dataModelFile" ],
                "type" : "object",
                "properties" : {
                  "dataModelFile" : {
                    "type" : "string",
                    "description" : "The YAML file containing the exported data model definition.",
                    "format" : "binary"
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The data model is restored successfully in the changeset. Commit the changeset to save the changes to metadata."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces" : {
      "post" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Create a new workspace",
        "description" : "This API creates a new workspace on the data server.\n",
        "operationId" : "ms-postWorkspace",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The workspace's definition.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Workspace"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new workspace is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Workspace"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}" : {
      "get" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Read a workspace",
        "description" : "This API gets the definition of a single workspace on the data server.\n",
        "operationId" : "ms-getWorkspace",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The workspace's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Workspace"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Delete a workspace",
        "description" : "This API deletes a workspace on the data server.\n",
        "operationId" : "ms-deleteWorkspace",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "The workspace has been deleted successfully."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Update a workspace",
        "description" : "This API updates a workspace on the data server, based on the definition provided in the request body. It returns the workspace's updated definition.\n",
        "operationId" : "ms-patchWorkspace",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "description" : "one or more top-level fields with the new definition of the workspace.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Workspace"
              }
            },
            "application/merge-patch+json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Workspace"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "The workspace's definition is updated successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Workspace"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}/pipelines" : {
      "post" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Create a new pipeline",
        "description" : "Creates a new pipeline in the specified workspace",
        "operationId" : "ms-createPipeline",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "title" : "Empty Object `{}` for creating new empty pipeline in the workspace",
                  "type" : "object"
                }, {
                  "$ref" : "#/components/schemas/ms-Pipeline"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Pipeline created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Pipeline"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}/pipelines/{pipelineId}" : {
      "get" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Get pipeline by ID",
        "description" : "Retrieves a specific pipeline by its ID",
        "operationId" : "ms-getPipeline",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Pipeline retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Pipeline"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Delete pipeline",
        "description" : "Deletes a specific pipeline",
        "operationId" : "ms-deletePipeline",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "This DELETE call does not return anything upon a successful execution."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Update pipeline",
        "description" : "Updates an existing pipeline",
        "operationId" : "ms-updatePipeline",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-Pipeline"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Pipeline updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-Pipeline"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}/pipelines/{pipelineId}/refresh" : {
      "post" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Refresh pipeline",
        "description" : "Refreshes a pipeline to update its data and structure",
        "operationId" : "ms-refreshPipeline",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Pipeline refreshed successfully"
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "401" : {
            "description" : "The request requires authentication. The user is not authenticated or the authentication token is invalid.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "403" : {
            "description" : "The request is forbidden. The user does not have permission to access this resource.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}/pipelines/{pipelineId}/tables" : {
      "post" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Create a new table",
        "description" : "Creates a new table in the specified workspace",
        "operationId" : "ms-createDataServerTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "title" : "Empty Object `{}` for creating new empty table in the pipeline",
                  "type" : "object"
                }, {
                  "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                }, {
                  "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Table created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                  }, {
                    "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataServer/workspaces/{workspaceId}/pipelines/{pipelineId}/tables/{tableId}" : {
      "get" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Get table by ID",
        "description" : "Retrieves a specific table by its ID",
        "operationId" : "ms-getDataServerTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "The unique identifier of the table in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showPreviewData",
          "in" : "query",
          "description" : "Whether to include preview data in the response",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        }, {
          "name" : "showRawData",
          "in" : "query",
          "description" : "Whether to include raw data in the response",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean",
            "default" : false
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Table retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                  }, {
                    "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Delete table",
        "description" : "Deletes a specific table",
        "operationId" : "ms-deleteDataServerTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "The unique identifier of the table in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "This DELETE call does not return anything upon a successful execution."
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "patch" : {
        "tags" : [ "Workspaces" ],
        "summary" : "Update table",
        "description" : "Updates an existing table",
        "operationId" : "ms-updateDataServerTable",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "workspaceId",
          "in" : "path",
          "description" : "The unique identifier of the workspace in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "pipelineId",
          "in" : "path",
          "description" : "The unique identifier of the pipeline",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "tableId",
          "in" : "path",
          "description" : "The unique identifier of the table in the data server",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                }, {
                  "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Table updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                  }, {
                    "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                  } ]
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/scopeFilters" : {
      "post" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Create a scope filter",
        "description" : "Creates a new scope filter in the changeset, based on the definition provided in request body. The definition of the newly created scope filter is returned in response.\n\nConditions is a list of prompt definitions defined in scope filter.\n \nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the newly created scope filter to the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-postScopeFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The scope filter's definition.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ScopeFilter"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "A new scope filter is created successfully in the changeset.\n",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ScopeFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/model/scopeFilters/{scopeFilterId}" : {
      "get" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Read a scope filter",
        "description" : "The response returns the definition of a scope filter. \n\nThe project ID is required to return a scope filter's definition in metadata.\nThe changeset ID is required to return a scope filter's definition within a specific changeset.\nTo execute the request, either the project ID or changeset ID needs to be provided. If both are provided, only the changeset ID is used.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n",
        "operationId" : "ms-getScopeFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "Project ID",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scopeFilterId",
          "in" : "path",
          "description" : "Scope filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Scope Filter's definition is returned successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ScopeFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Scope Filters" ],
        "summary" : "Update a scope filter",
        "description" : "Updates a specific scope filter in the changeset, based on the definition provided in the request body. It returns the scope filter's updated definition in the changeset.\n\nThe changeset ID can be obtained using the changeset creation API.\nAn authorization token is required to execute the request and can be obtained using Authentication endpoints.\n\nTo save the change in the metadata, commit using the changeset commit API.\n",
        "operationId" : "ms-putScopeFilter",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "X-MSTR-MS-Changeset",
          "in" : "header",
          "description" : "Changeset ID\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "scopeFilterId",
          "in" : "path",
          "description" : "Scope filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        }, {
          "name" : "showExpressionAs",
          "in" : "query",
          "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "tokens", "tree" ]
            }
          }
        } ],
        "requestBody" : {
          "description" : "The new definition of the scope filter.\n",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ms-ScopeFilter"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "The scope filter's definition is updated successfully in the changeset.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-ScopeFilter"
                }
              }
            }
          },
          "400" : {
            "description" : "The request is malformed or invalid in some manner.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "404" : {
            "description" : "The requested resource cannot be found.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          },
          "500" : {
            "description" : "The request resulted in an internal Modeling service error.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ms-StructErrors"
                }
              }
            }
          }
        }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get a Baseline Test object by id",
        "operationId" : "getIntegrityTestById",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Unit test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "put" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Update a Baseline Test object",
        "operationId" : "replaceIntegrityTest",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntegrityTestRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Baseline Test object is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request body",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "delete" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Delete a Baseline Test object by id",
        "operationId" : "deleteIntegrityTestById",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Baseline Test is deleted successfully"
          },
          "404" : {
            "description" : "Baseline Test not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get a Comparison Test object by id",
        "operationId" : "getIntegrityComparisonObjectById",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityComparisonDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "put" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Update a Comparison Test object",
        "operationId" : "replaceIntegrityComparison",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntegrityComparisonRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Comparison Test object is updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityComparisonDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request body",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "delete" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Delete a Comparison Test object by id",
        "operationId" : "deleteIntegrityComparisonById",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Comparison Test is deleted successfully "
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/storageSyncFiles/cleanUp" : {
      "post" : {
        "tags" : [ "Storage Sync File (Test Center)" ],
        "operationId" : "cleanUpStorageSyncFiles",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "OK"
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get all Baseline Test objects",
        "operationId" : "getAllIntegrityTests",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Tests are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestsDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Create a Baseline Test object",
        "operationId" : "createIntegrityTest",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntegrityTestRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Baseline Test object created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request body",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get all baseline execution results for a Baseline Test",
        "operationId" : "getIntegrityTestBaselines",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline results are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "items" : {
                    "$ref" : "#/components/schemas/IntegrityTestBaselineDto"
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Trigger a Baseline Test execution and create a baseline result",
        "operationId" : "createIntegrityTestBaseline",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BaselineExecutionOptions"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Baseline Test is triggered successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestBaselineDto"
                }
              }
            }
          },
          "400" : {
            "description" : "invalid input",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/storageSync" : {
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Sync a Baseline Test execution results to Storage Service",
        "operationId" : "syncIntegrityTestBaselineResult",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Baseline result is synchronized successfully",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestBaselineResultSyncDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/cancel" : {
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Cancel a Baseline Test execution",
        "operationId" : "cancelIntegrityTestBaseline",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "localOnly",
          "in" : "query",
          "description" : "Cancel the task on the current node",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          },
          "example" : true
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Baseline is cancelled successfully"
          },
          "404" : {
            "description" : "Baseline Test result is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/bulkDelete" : {
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Delete a set of Baseline Test objects",
        "operationId" : "bulkDeleteIntegrityTests",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkDeleteObjectsRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Baseline Tests are deleted successfully"
          },
          "400" : {
            "description" : "Failed to delete Baseline Tests",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/baselines/bulkDelete" : {
      "post" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Delete a set of Baseline Test results",
        "operationId" : "bulkDeleteIntegrityTestBaselines",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkDeleteBaselinesRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Baseline results are deleted successfully"
          },
          "400" : {
            "description" : "Failed to delete Baseline Test results",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get all Comparison Test objects",
        "operationId" : "getAllIntegrityComparisons",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Tests are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityComparisonsDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "post" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Create a Comparison Test object",
        "operationId" : "createIntegrityComparison",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntegrityComparisonRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Comparison Test object created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityComparisonDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request body",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get all comparison run results for a Comparison Test",
        "operationId" : "getIntegrityComparisons",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestComparisonDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "post" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Trigger a Comparison Test",
        "operationId" : "createIntegrityComparison_1",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "forceRerun",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : false
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/IntegrityComparisonTriggerParams"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Comparison Test is created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnitTestComparisonDto"
                }
              }
            }
          },
          "400" : {
            "description" : "invalid input",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/cancel" : {
      "post" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Cancel a Comparison Test execution",
        "operationId" : "cancelIntegrityTestBaseline_1",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "localOnly",
          "in" : "query",
          "description" : "Cancel the task on the current node",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : false
          },
          "example" : false
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Comparison is cancelled successfully"
          },
          "404" : {
            "description" : "Comparison Test result is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/comparisons/bulkDelete" : {
      "post" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Delete a set of Comparison Tests results",
        "operationId" : "bulkDeleteIntegrityComparisonResults",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkDeleteBaselinesRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Delete Comparison Tests results successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestComparisonDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/bulkDelete" : {
      "post" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Delete a set of Comparison Test objects",
        "operationId" : "bulkDeleteIntegrityComparisons",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BulkDeleteObjectsRequestDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Comparison Tests are deleted successfully "
          },
          "400" : {
            "description" : "Failed to delete Comparison Tests",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/settings" : {
      "get" : {
        "tags" : [ "Test Center Settings" ],
        "summary" : "Get current settings",
        "description" : "Returns the current effective settings, merging any active overrides on top of the application configuration defaults.",
        "operationId" : "getSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Current effective settings",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SettingsDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "patch" : {
        "tags" : [ "Test Center Settings" ],
        "summary" : "Partially update settings",
        "description" : "Applies a partial settings update.  Only fields present (non-null) in the request body are changed; all other settings keep their current values.  The updated settings are persisted to the override file and take effect immediately without a service restart.",
        "operationId" : "updateSettings",
        "parameters" : [ {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SettingsDto"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Resulting effective settings after the update",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SettingsDto"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get the Baseline Test result information by id",
        "operationId" : "queryIntegrityBaselineById",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test result information is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestBaselineDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "delete" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Delete a Baseline Test result",
        "operationId" : "deleteIntegrityTestBaseline",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Baseline is deleted successfully"
          },
          "404" : {
            "description" : "Baseline Test result is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get Baseline Test execution result of a cube",
        "operationId" : "queryIntegrityTestSingle",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test result of a cube is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or cube is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/visualizations/{vizKey}" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get Baseline Test execution result of a visualization",
        "operationId" : "queryIntegrityTestVisualization",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "vizKey",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test result of a visualization is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or visualization is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/visualizations/{vizKey}/sql" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get SQL captured during Baseline Test execution of a visualization",
        "operationId" : "queryIntegrityTestVizSql",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "vizKey",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test SQL result of a visualization is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or visualization is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/visualizations/{vizKey}/queryDetail" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get Baseline Test query detail result of a visualization",
        "operationId" : "queryIntegrityTestVizQueryDetail",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "vizKey",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test query detail result of a visualization is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or visualization is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/visualizations/{vizKey}/data" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get data results captured during Baseline Test execution of a visualization",
        "operationId" : "queryIntegrityTestVizData",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "vizKey",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test data result of a visualization is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or visualization is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/sql" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get SQL captured during Baseline Test execution of a visualization",
        "operationId" : "queryIntegrityTestVizSql_1",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test SQL result of a visualization is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or visualization is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/testObjectBaselines/{testObjectBaselineId}/data" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get data results captured during Baseline Test execution of a cube",
        "operationId" : "queryIntegrityTestData",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectBaselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test data result of a cube is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SingleNodeExecutionResultDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test result or cube is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/summary" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get the Baseline Test execution summary",
        "operationId" : "getIntegrityBaselineSummary",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : false
          }
        }, {
          "name" : "statsCountLevel",
          "in" : "query",
          "description" : "Stats count level: COMPARISON_LEVEL (count data and SQL separately) or OBJECT_LEVEL",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "COMPARISON_LEVEL"
          },
          "example" : "COMPARISON_LEVEL"
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test execution summary is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestBaselineSummaryDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/{integrityTestId}/baselines/{baselineId}/status" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get the Baseline Test execution status",
        "operationId" : "queryIntegrityBaselineStatus",
        "parameters" : [ {
          "name" : "integrityTestId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "baselineId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline Test execution status is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestBaselineStatusDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Baseline Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityTests/baselines" : {
      "get" : {
        "tags" : [ "Baseline Test (Test Center)" ],
        "summary" : "Get all baseline execution results for all Baseline Tests",
        "operationId" : "getAllIntegrityTestBaselines",
        "parameters" : [ {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Baseline results are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "items" : {
                    "$ref" : "#/components/schemas/IntegrityTestBaselineDto"
                  }
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get result details of a specific Comparison Test run",
        "operationId" : "getIntegrityComparisonById",
        "parameters" : [ {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestComparisonDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      },
      "delete" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Delete a Comparison Test result",
        "operationId" : "deleteComparison",
        "parameters" : [ {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "204" : {
            "description" : "Comparison Test result is deleted successfully"
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/testObjectComparisons/{testObjectComparisonId}/summary" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get summary result of a Comparison Test",
        "operationId" : "queryComparisonResultSummary",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test result summary is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UnitTestComparisonSummaryDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/testObjectComparisons/{testObjectComparisonId}/sqlDiff" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get SQL differences for Cube in a Comparison Test",
        "operationId" : "queryCubeSqlDiff",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test SQL differences result is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SqlDiffDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/testObjectComparisons/{testObjectComparisonId}/nodes/{key}/sqlDiff" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get SQL differences for visualizations in a Comparison Test",
        "operationId" : "querySqlDiff",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "key",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test SQL differences result is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SqlDiffDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/testObjectComparisons/{testObjectComparisonId}/nodes/{key}/dataDiff" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get data differences for visualizations in a Comparison Test",
        "operationId" : "queryDataDiff",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "key",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test data differences result is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataDiffDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/testObjectComparisons/{testObjectComparisonId}/dataDiff" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get data differences for Cube in a Comparison Test",
        "operationId" : "queryCubeDataDiff",
        "parameters" : [ {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "testObjectComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test data differences result is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataDiffDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/summary" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get Comparison Test execution summary",
        "operationId" : "getIntegrityComparisonSummary",
        "parameters" : [ {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Option to fetch list of each object's status",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : false
          },
          "example" : false
        }, {
          "name" : "statsCountLevel",
          "in" : "query",
          "description" : "Stats count level: COMPARISON_LEVEL (count data and SQL separately) or OBJECT_LEVEL",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "COMPARISON_LEVEL"
          },
          "example" : "COMPARISON_LEVEL"
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test execution summary is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComparisonTestSummaryDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/{integrityComparisonId}/comparisons/{comparisonId}/status" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get Comparison Test execution status",
        "operationId" : "queryIntegrityComparisonStatus",
        "parameters" : [ {
          "name" : "comparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "integrityComparisonId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Test execution status is retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestComparisonStatusDto"
                }
              }
            }
          },
          "404" : {
            "description" : "Comparison Test is not found",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ApiErrorDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/testCenters/integrityComparisons/comparisons" : {
      "get" : {
        "tags" : [ "Comparison Test (Test Center)" ],
        "summary" : "Get all comparison run results for all Comparison Tests",
        "operationId" : "getAllIntegrityComparisonResults",
        "parameters" : [ {
          "name" : "includeDetails",
          "in" : "query",
          "description" : "Whether to include detailed results",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : true
          }
        }, {
          "name" : "X-MSTR-AUTHTOKEN",
          "in" : "header",
          "description" : "Authorization Token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Comparison Tests are retrieved successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/IntegrityTestComparisonDto"
                }
              }
            }
          }
        },
        "x-microstrategy" : { }
      }
    },
    "/api/telemetry/alerts/{alertId}/actions" : {
      "put" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Set Alert Actions",
        "operationId" : "putAlertActions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "alertId",
          "in" : "path",
          "description" : "Unique identifier for the alert",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        } ],
        "requestBody" : {
          "description" : "actions",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Actions"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Actions"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/sentinel/replay/instance/{instanceId}" : {
      "post" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Replay Anomaly Detection by Instance ID",
        "description" : "Replays anomaly detection for all events in a specific instance. Returns analysis including detection details at all baseline levels, confidence calculation breakdowns, and configuration values used. ",
        "operationId" : "replayAnomalyDetectionByInstanceId",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "instanceId",
          "in" : "path",
          "description" : "Instance ID to replay",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "Detection completed successfully",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal server error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/sentinel/replay/date-range" : {
      "post" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Replay Anomaly Detection by Date Range",
        "description" : "Replays anomaly detection for events within a specified date range. Returns comprehensive analysis including detection details at all baseline levels (PAIR, USER, GLOBAL), confidence calculation breakdowns, and configuration values used. Date range parameters are provided in the URL as query parameters. ",
        "operationId" : "replayAnomalyDetectionByDateRange",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Start time in epoch milliseconds",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int64"
          }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "End time in epoch milliseconds",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int64"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Detection completed successfully",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal server error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AnomalyDetectionReplayResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/objects/statistics" : {
      "post" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get statistic metrics for a group of objects",
        "operationId" : "getObjectsStatistics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "MSTR-Repository",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "MSTR-RepositoryHash",
          "in" : "header",
          "description" : "Hash of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 1000
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ObjectsStatisticsRequestBody"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectsStatisticsResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "403" : {
            "description" : "Authorization Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/admin/restore" : {
      "post" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Start historical data restore",
        "operationId" : "startRestore",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "requestBody" : {
          "description" : "Restore request with date range",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RestoreRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Restore started successfully",
            "content" : {
              "*/*" : {
                "schema" : { }
              }
            }
          },
          "400" : {
            "description" : "Bad Request - Invalid date format or date range",
            "content" : {
              "*/*" : {
                "schema" : { }
              }
            }
          },
          "409" : {
            "description" : "Conflict - Restore operation already in progress",
            "content" : {
              "*/*" : {
                "schema" : { }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/admin/multitenantMetadata/enable" : {
      "post" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Enable multitenant metadata support",
        "description" : "Enable multitenant metadata support in Platform Analytics. Returns immediately with a job ID for polling.",
        "operationId" : "enableMultitenantMetadata",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "202" : {
            "description" : "Multitenant metadata enable operation started",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultitenantMetadataResponse"
                }
              }
            }
          },
          "409" : {
            "description" : "Conflict - Operation already in progress",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultitenantMetadataResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/users/{id}/statistics" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get statistics for a user",
        "operationId" : "getUserStatistics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "GUID of the MicroStrategy user",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserStatistics"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/source" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Source Usage Insights",
        "operationId" : "getSourceUsage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "executions"
          }
        }, {
          "name" : "sortType",
          "in" : "query",
          "description" : "Sort direction. Allowed values: ASC, DESC. Defaults to DESC if not specified or if an invalid value is provided.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "DESC"
          }
        }, {
          "name" : "globalSearchTerm",
          "in" : "query",
          "description" : "Search term applied across searchable columns (case-insensitive)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "columnsFilter",
          "in" : "query",
          "description" : "Column-specific filter in the format columnId:value (repeatable)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "items" : { }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsagePageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/source/elementList" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get distinct usage source column elements",
        "operationId" : "getUsageSourceElementList",
        "parameters" : [ {
          "name" : "columnId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ElementPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/object" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Object Usage Insights",
        "operationId" : "getObjectUsage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "executions"
          }
        }, {
          "name" : "sortType",
          "in" : "query",
          "description" : "Sort direction. Allowed values: ASC, DESC. Defaults to DESC if not specified or if an invalid value is provided.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "DESC"
          }
        }, {
          "name" : "globalSearchTerm",
          "in" : "query",
          "description" : "Search term applied across searchable columns (case-insensitive)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "columnsFilter",
          "in" : "query",
          "description" : "Column-specific filter in the format columnId:value (repeatable)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "items" : { }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsagePageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/object/elementList" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get distinct usage object column elements",
        "operationId" : "getUsageObjectElementList",
        "parameters" : [ {
          "name" : "columnId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ElementPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/model" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Model Usage Insights",
        "operationId" : "getModelUsage",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "executions"
          }
        }, {
          "name" : "sortType",
          "in" : "query",
          "description" : "Sort direction. Allowed values: ASC, DESC. Defaults to DESC if not specified or if an invalid value is provided.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "DESC"
          }
        }, {
          "name" : "globalSearchTerm",
          "in" : "query",
          "description" : "Search term applied across searchable columns (case-insensitive)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "columnsFilter",
          "in" : "query",
          "description" : "Column-specific filter in the format columnId:value (repeatable)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "items" : { }
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UsagePageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/usage-insights/model/elementList" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get distinct usage model column elements",
        "operationId" : "getUsageModelElementList",
        "parameters" : [ {
          "name" : "columnId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ElementPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/status" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get status for the service",
        "operationId" : "getStatus",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : { }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/sentinelClient/table/tableInfo" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get telemetry table metadata for sentinel client usage",
        "operationId" : "getTableInfo",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SentinelTableInfoResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/sentinel-tables" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Sentinel Table Data",
        "operationId" : "getSentinelTableData",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "tableName",
          "in" : "query",
          "description" : "Options: sentinel_log, sentinel_src_log, or sentinel_alerts",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "description" : "Cursor value from previous page's nextPage.after",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "afterLogId",
          "in" : "query",
          "description" : "Log ID cursor from previous page's nextPage.logId",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int64"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SentinelTablePageResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "403" : {
            "description" : "Authorization Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/objects/{id}/lastError" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get last error for a specific object",
        "operationId" : "getObjectErrors",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "GUID of the MicroStrategy object",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "MSTR-Repository",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "MSTR-RepositoryHash",
          "in" : "header",
          "description" : "Hash of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectLastErrorResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "403" : {
            "description" : "Authorization Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/objects/interactions" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Object Interactions",
        "operationId" : "getDashboardInteractions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "start_date",
          "in" : "query",
          "description" : "Start date in the format (YYYY-MM-DD).",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "end_date",
          "in" : "query",
          "description" : "End date in the format (YYYY-MM-DD).",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "project_ids",
          "in" : "query",
          "description" : "Filter by Project UUIDs (comma-separated).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "object_types",
          "in" : "query",
          "description" : "Filter by object type (e.g., Dashboard, Report).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "object_ids",
          "in" : "query",
          "description" : "Filter by Object UUIDs (comma-separated).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "user_ids",
          "in" : "query",
          "description" : "Filter by User UUIDs (comma-separated).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : -1
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DashboardInteractionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/objects/definitions" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Object Definitions",
        "operationId" : "getObjectDefinitions",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "project_ids",
          "in" : "query",
          "description" : "Filter by Project UUIDs (comma-separated).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "object_types",
          "in" : "query",
          "description" : "Filter by object type (e.g., Dashboard, Report).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "object_ids",
          "in" : "query",
          "description" : "Filter by Object UUIDs (comma-separated).",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ObjectDefinitionResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/bots/{id}/statistics" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get summary metrics for an object",
        "operationId" : "getFeedbackStatistics",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "GUID of the MicroStrategy object",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "period",
          "in" : "query",
          "description" : "Period allowed values: last30days, last60days, last90days, all",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "all"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeedbackStatistics"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/bots/{id}/learnings" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get learnings for a bot/dashboard",
        "operationId" : "getLearnings",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "GUID of the MicroStrategy object",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "period",
          "in" : "query",
          "description" : "Period allowed values: last30days, last60days, last90days, all",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "all"
          }
        }, {
          "name" : "Accept",
          "in" : "header",
          "description" : "Response format",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "enum" : [ "application/json", "application/octet-stream" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/LearningsResponse"
                }
              },
              "application/octet-stream" : {
                "schema" : {
                  "format" : "binary"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "401" : {
            "description" : "Authentication Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "403" : {
            "description" : "Authorization Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/bots/{id}/feedback" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get feedback for an object",
        "operationId" : "getFeedbackForObject",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "GUID of the MicroStrategy object",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 10
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 1
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "-requestTime"
          }
        }, {
          "name" : "period",
          "in" : "query",
          "description" : "Period allowed values: last30days, last60days, last90days, all",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "all"
          }
        }, {
          "name" : "reqStartTimeUtc",
          "in" : "query",
          "description" : "Epoch Unix time in milliseconds. Eg: 1709060619846  Must be passed in all subsequent pagination requests",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FeedbackList"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/audits/elementList" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get distinct audit column elements",
        "operationId" : "getAuditElementList",
        "parameters" : [ {
          "name" : "columnId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "sensitive_type",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ElementPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/audit" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Audits",
        "operationId" : "getAudit",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return. Set to -1 to retrieve all records without limit",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 10
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "sensitive_type",
          "in" : "query",
          "description" : "Filter by sensitive data type. Allowed values: NONE, PERSONAL, SENSITIVE",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "timestamp"
          }
        }, {
          "name" : "sortType",
          "in" : "query",
          "description" : "Sort direction. Allowed values: ASC, DESC. Defaults to DESC if not specified or if an invalid value is provided.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "DESC"
          }
        }, {
          "name" : "globalSearchTerm",
          "in" : "query",
          "description" : "Search term applied across searchable columns (case-insensitive)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "columnsFilter",
          "in" : "query",
          "description" : "Column-specific filter in the format columnId:value (repeatable)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "items" : { }
          }
        }, {
          "name" : "after",
          "in" : "query",
          "description" : "Keyset pagination cursor: value from the sort column of the last record from the previous page",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "afterLogId",
          "in" : "query",
          "description" : "Keyset pagination cursor tie-breaker: last logId from previous page",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int64"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AuditPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/alerts" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Alerts",
        "operationId" : "getAlerts",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "limit",
          "in" : "query",
          "description" : "Number of records to return. Set to -1 to retrieve all records without limit",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 10
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "description" : "Number of records to skip",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "startTime",
          "in" : "query",
          "description" : "Filter by start timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "description" : "Filter by end timestamp (inclusive). Epoch Unix time in milliseconds. Eg: 1709060619846",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "description" : "Sort by field eg: +requestTime or -requestTime",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "timestamp"
          }
        }, {
          "name" : "sortType",
          "in" : "query",
          "description" : "Sort direction. Allowed values: ASC, DESC. Defaults to DESC if not specified or if an invalid value is provided.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "default" : "DESC"
          }
        }, {
          "name" : "globalSearchTerm",
          "in" : "query",
          "description" : "Search term applied across searchable columns (case-insensitive)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "columnsFilter",
          "in" : "query",
          "description" : "Column-specific filter in the format columnId:value (repeatable)",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "items" : { }
          }
        }, {
          "name" : "after",
          "in" : "query",
          "description" : "Keyset pagination cursor: value from the sort column of the last record from the previous page",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "afterLogId",
          "in" : "query",
          "description" : "Keyset pagination cursor tie-breaker: last logId from previous page",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int64"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AlertPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/alerts/{alertId}/details" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get Alert Details",
        "operationId" : "getAlertDetails",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "alertId",
          "in" : "path",
          "description" : "Unique identifier for the alert",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AlertDetailsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/alerts/elementList" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get distinct alert column elements",
        "operationId" : "getAlertElementList",
        "parameters" : [ {
          "name" : "columnId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "limit",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 50
          }
        }, {
          "name" : "offset",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "format" : "int32",
            "default" : 0
          }
        }, {
          "name" : "searchTerm",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "startTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "endTime",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        }, {
          "name" : "after",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : { }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ElementPageResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/agg/status" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get status for the aggregation",
        "operationId" : "getAggregationStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        }, {
          "name" : "MSTR-Repository",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "MSTR-RepositoryHash",
          "in" : "header",
          "description" : "Hash of the MicroStrategy Metadata",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "X-MSTR-ProjectID",
          "in" : "header",
          "description" : "GUID of the MicroStrategy Project",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : { }
        }, {
          "name" : "aggType",
          "in" : "query",
          "description" : "Type of aggregation",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "enum" : [ "UNKNOWN", "OBJECT_STATISTICS" ]
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AggStatusResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "403" : {
            "description" : "Authorization Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/admin/restore/status" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get historical data restore status",
        "operationId" : "getRestoreStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Restore status retrieved successfully",
            "content" : {
              "*/*" : {
                "schema" : {
                  "additionalProperties" : { }
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    },
    "/api/telemetry/admin/multitenantMetadata/status" : {
      "get" : {
        "tags" : [ "Telemetry" ],
        "summary" : "Get multitenant metadata enable status",
        "description" : "Returns the current status of the multitenant metadata support enable operation.",
        "operationId" : "getMultitenantMetadataStatus",
        "parameters" : [ {
          "name" : "X-MSTR-AuthToken",
          "in" : "header",
          "description" : "Authorization token",
          "required" : true,
          "style" : "simple",
          "explode" : false
        } ],
        "responses" : {
          "200" : {
            "description" : "Status retrieved successfully",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MultitenantMetadataResponse"
                }
              }
            }
          },
          "500" : {
            "description" : "Server Error",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ErrorContainer"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "AdditionalProperties" : {
        "type" : "object",
        "properties" : {
          "objectId" : {
            "type" : "string",
            "description" : "The ID of the object"
          },
          "objectName" : {
            "type" : "string",
            "description" : "The name of the object"
          },
          "dbRoles" : {
            "type" : "array",
            "description" : "The list of DB roles",
            "items" : {
              "$ref" : "#/components/schemas/DBRole"
            }
          }
        },
        "description" : "The additional properties of error"
      },
      "DBRole" : {
        "type" : "object",
        "properties" : {
          "isOAuthDB" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          }
        },
        "description" : "The list of DB roles"
      },
      "SubError" : {
        "type" : "object",
        "properties" : {
          "iServerCode" : {
            "type" : "integer",
            "description" : "I-Server internal error code",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "I-Server internal error message"
          },
          "additionalProperties" : {
            "$ref" : "#/components/schemas/AdditionalProperties"
          }
        },
        "description" : "The list of sub errors"
      },
      "error" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Internal application error code"
          },
          "iServerCode" : {
            "type" : "integer",
            "description" : "I-Server internal error code",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "Error message"
          },
          "ticketId" : {
            "type" : "string",
            "description" : "Ticket ID for locating the related exception log"
          },
          "subErrors" : {
            "type" : "array",
            "description" : "The list of sub errors",
            "items" : {
              "$ref" : "#/components/schemas/SubError"
            }
          },
          "additionalProperties" : {
            "type" : "object",
            "description" : "The additional properties of error"
          }
        }
      },
      "IdentityTokenInfoResponse" : {
        "type" : "object",
        "properties" : {
          "userId" : {
            "type" : "string",
            "description" : "The ID of the user who is logged in"
          }
        }
      },
      "IdentityTokenResponse" : {
        "type" : "object",
        "properties" : {
          "identityToken" : {
            "type" : "string",
            "description" : "The identity token represents current user session."
          }
        }
      },
      "IdentityTokenRequest" : {
        "type" : "object",
        "properties" : {
          "codeChallenge" : {
            "type" : "string",
            "description" : "The PKCE code challenge. Please refer to [PKCE](https://www.rfc-editor.org/rfc/rfc7636) for details."
          },
          "codeChallengeMethod" : {
            "type" : "string",
            "description" : "The PKCE code challenge method. Please refer to [PKCE](https://www.rfc-editor.org/rfc/rfc7636) for details."
          }
        },
        "description" : "The structure contains information to be used when creating identity token."
      },
      "SessionInfo" : {
        "type" : "object",
        "properties" : {
          "locale" : {
            "type" : "integer",
            "description" : "Locale used for internationalization. Default is “1033” (English - United States)",
            "format" : "int32",
            "example" : 1033
          },
          "displayLocale" : {
            "type" : "integer",
            "description" : "Display locale used for internationalization.",
            "format" : "int32",
            "example" : 1033
          },
          "userConnections" : {
            "type" : "array",
            "description" : "Collection of user connections",
            "items" : {
              "$ref" : "#/components/schemas/SessionUserConnectionDetail"
            }
          },
          "maxSearch" : {
            "type" : "integer",
            "description" : "Maximum number of concurrent searches. Default is “1”",
            "format" : "int32"
          },
          "workingSet" : {
            "type" : "integer",
            "description" : "Number of report/document instances that are kept in memory on the Intelligence Server before the oldest is removed",
            "format" : "int32"
          },
          "timeout" : {
            "type" : "integer",
            "description" : "Number of seconds after which idle session is closed",
            "format" : "int32"
          },
          "metadataUser" : {
            "type" : "boolean",
            "description" : "Boolean value indicates whether the authenticated user exists in the metadata or was created on the fly"
          },
          "lifetime" : {
            "type" : "integer",
            "description" : "Number of seconds before session is expired. -1 indicates the session has expired.",
            "format" : "int64"
          },
          "id" : {
            "type" : "string",
            "description" : "ID of the authenticated user"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name of the authenticated user"
          },
          "profileImage" : {
            "type" : "string",
            "description" : "Profile image of the authenticated user"
          },
          "initials" : {
            "type" : "string",
            "description" : "Initials of the authenticated user, calculated based on user's last name or username."
          },
          "profileColor" : {
            "type" : "string",
            "description" : "Profile color of the authenticated user"
          }
        },
        "description" : "Information about current session."
      },
      "SessionUserConnectionDetail" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User Connection ID"
          },
          "sessionId" : {
            "type" : "string",
            "description" : "Session ID"
          }
        }
      },
      "Credentials" : {
        "required" : [ "username" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project Id"
          },
          "port" : {
            "maximum" : 65535,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Port number of the Intelligence Server. Default port number is 34952.",
            "format" : "int32"
          },
          "username" : {
            "type" : "string",
            "description" : "User login name"
          },
          "locale" : {
            "type" : "string",
            "description" : "Locale for internationalization, default to en (English - United States)",
            "example" : "en"
          },
          "metadataLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's metadata",
            "example" : "en_us"
          },
          "warehouseDataLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's warehouse data",
            "example" : "en_us"
          },
          "displayLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's display",
            "example" : "en_us"
          },
          "messagesLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's messages",
            "example" : "en_us"
          },
          "numberLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's numbers",
            "example" : "en_us"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Default timezone to be used for the user's session",
            "example" : "UTC"
          },
          "maxSearch" : {
            "type" : "integer",
            "description" : "Max number of concurrent searches, default to 3",
            "format" : "int32"
          },
          "workingSet" : {
            "type" : "integer",
            "description" : "Sets the number of report/document instances are kept in memory on the server before the oldest begins expiring, default to 10",
            "format" : "int32"
          },
          "changePassword" : {
            "type" : "boolean",
            "description" : "Boolean to determine if the password needs to be changed"
          },
          "newPassword" : {
            "type" : "string",
            "description" : "The new password"
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Preview feature. To login using the login mode configured in a custom application, please provide the custom application ID. Use 'null' or keep the field unset to login using server login modes.",
            "example" : "C2B2023642F6753A2EF159A75E0CFF29",
            "default" : "null"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "stickyTenantId" : {
            "type" : "string",
            "description" : "Sticky Tenant ID"
          },
          "extraSessionFlags" : {
            "type" : "integer",
            "format" : "int32"
          },
          "extraSessdionFlags" : {
            "type" : "integer",
            "format" : "int32",
            "writeOnly" : true
          },
          "loginMode" : {
            "type" : "integer",
            "description" : "Authentication Mode, default to 1 (EnumDSSXMLAuthModes.DssXmlAuthStandard)",
            "format" : "int32",
            "example" : 1,
            "default" : 1
          },
          "password" : {
            "type" : "string",
            "description" : "The password of the user"
          },
          "usherToken" : {
            "type" : "string",
            "description" : "Usher access token"
          },
          "identityToken" : {
            "type" : "string",
            "description" : "Create a session using a previously assigned Identity Token"
          },
          "applicationType" : {
            "type" : "integer",
            "description" : "The application type, see EnumDSSXMLApplicationType for details",
            "format" : "int32"
          },
          "clientId" : {
            "type" : "string",
            "description" : "The client ID"
          }
        }
      },
      "ConfigurationIndex" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The configuration ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Display name of the configuration"
          },
          "description" : {
            "type" : "string",
            "description" : "Description"
          },
          "lastUpdate" : {
            "type" : "integer",
            "description" : "Last update time of the configuration in ISO 8601 date format",
            "format" : "int64"
          }
        },
        "description" : "Configuration List Item"
      },
      "ClientConfiguration" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The configuration ID comes from web server"
          },
          "name" : {
            "type" : "string",
            "description" : "The configuration name"
          },
          "description" : {
            "type" : "string",
            "description" : "Description"
          },
          "schemaVersion" : {
            "type" : "integer",
            "description" : "Schema version; current version is 1",
            "format" : "int32"
          },
          "version" : {
            "type" : "integer",
            "description" : "The counter of configuration modification times",
            "format" : "int32"
          },
          "updateSource" : {
            "$ref" : "#/components/schemas/WebServer"
          },
          "connectivity" : {
            "$ref" : "#/components/schemas/ConnectivitySettings"
          },
          "general" : {
            "$ref" : "#/components/schemas/GeneralSettings"
          },
          "homeScreen" : {
            "$ref" : "#/components/schemas/HomeScreenSettings"
          }
        },
        "description" : "Library configuration for clients such as iOS, Android or Desktop"
      },
      "ConnectivitySettings" : {
        "type" : "object",
        "properties" : {
          "webServers" : {
            "type" : "array",
            "description" : "The web server list",
            "items" : {
              "$ref" : "#/components/schemas/WebServer"
            }
          }
        },
        "description" : "Connectivity setting"
      },
      "GeneralSettings" : {
        "type" : "object",
        "properties" : {
          "disableAdvancedSettings" : {
            "type" : "boolean",
            "description" : "If true, hide advanced settings menu item"
          },
          "disablePreferences" : {
            "type" : "boolean",
            "description" : "If true, hide preferences menu item"
          },
          "networkTimeout" : {
            "type" : "integer",
            "description" : "Network timeout",
            "format" : "int32"
          },
          "cacheClearMode" : {
            "type" : "integer",
            "description" : "Clear caches mode; automatic=1, onClose=2",
            "format" : "int32"
          },
          "clearCacheOnLogout" : {
            "type" : "boolean",
            "description" : "If true, clear cache on log out"
          },
          "maxLogSize" : {
            "type" : "integer",
            "description" : "Maximum log size",
            "format" : "int32"
          },
          "logLevel" : {
            "type" : "integer",
            "description" : "Log level; All=0, Info=10, Warning=12, Severe=14, Off=16",
            "format" : "int32"
          },
          "updateInterval" : {
            "type" : "integer",
            "description" : "When set greater than 0, specify time interval of configuration auto update in minutes, otherwise configuration auto update is disabled",
            "format" : "int32"
          }
        },
        "description" : "General settings"
      },
      "HomeDocumentSettings" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "Share link of the Dossier/Document to be set as home screen."
          },
          "icons" : {
            "type" : "array",
            "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: comments, notifications, options",
            "items" : {
              "type" : "string",
              "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: comments, notifications, options"
            }
          },
          "toolbarMode" : {
            "type" : "integer",
            "description" : "decide how the toolbar is shown; 0 (default): show toolbar; 1: toolbar will be collapsed by default and expanded by tapping the top right corner icon",
            "format" : "int32"
          }
        },
        "description" : "If mode=1, this property is required to set a Dossier/Document as home screen"
      },
      "HomeScreenSettings" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "integer",
            "description" : "Mode of home screen; 0: Library (default); 1: use Dossier/Document as home screen",
            "format" : "int32"
          },
          "homeDocument" : {
            "$ref" : "#/components/schemas/HomeDocumentSettings"
          }
        },
        "description" : "Home screen settings"
      },
      "WebServer" : {
        "type" : "object",
        "properties" : {
          "requestType" : {
            "type" : "integer",
            "description" : "Request Type; http=0, https=1",
            "format" : "int32"
          },
          "host" : {
            "type" : "string",
            "description" : "Host name or IP address"
          },
          "port" : {
            "type" : "integer",
            "description" : "Port",
            "format" : "int32"
          },
          "path" : {
            "type" : "string",
            "description" : "Path"
          },
          "alias" : {
            "type" : "string",
            "description" : "Display name"
          }
        },
        "description" : "The web server list"
      },
      "IServerClusterNodeInfo" : {
        "type" : "object",
        "properties" : {
          "alias" : {
            "type" : "string",
            "description" : "IServer reported internal hostname"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the IServer machine/node"
          },
          "port" : {
            "type" : "integer",
            "description" : "The port of the IServer node",
            "format" : "int32"
          },
          "maxPoolSize" : {
            "type" : "integer",
            "description" : "Maximum number of connections available for given server node",
            "format" : "int32"
          },
          "initialPoolSize" : {
            "type" : "integer",
            "description" : "Initial number of connections available for given server node",
            "format" : "int32"
          },
          "loadBalanceFactor" : {
            "type" : "integer",
            "description" : "Applicable for clustered environment. By default, the load balance factor is 1. The value can be increased on more powerful servers in a cluster to provide an appropriate balance. A larger load balance factor means the current server consumes a greater load in the server cluster in which it resides",
            "format" : "int32"
          },
          "projects" : {
            "type" : "array",
            "description" : "Project(s) information for given node",
            "items" : {
              "$ref" : "#/components/schemas/ProjectInfoShort"
            }
          },
          "load" : {
            "type" : "integer",
            "description" : "The number of sessions currently connected to the Intelligence server node",
            "format" : "int32"
          }
        },
        "description" : "ISever Cluster Node Information"
      },
      "ProjectInfoShort" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "status" : {
            "type" : "integer",
            "description" : "Project status, which corresponds to values from [EnumDSSXMLProjectStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLProjectStatus.html)",
            "format" : "int32"
          }
        },
        "description" : "Project(s) information for given node"
      },
      "SharedStoragePatch" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Storage Type, currently support file_system, S3, Azure Blob and GCS",
            "enum" : [ "unset", "unknown", "file_system", "S3", "Azure", "GCS", "stackit" ]
          },
          "alias" : {
            "type" : "string",
            "description" : "Alias for the storage configuration"
          },
          "location" : {
            "type" : "string",
            "description" : "Storage Location, e.g. For S3 is bucket name. For Azure Blob is Azure Storage Container name. For GCS is bucket name.For File System is the absolute path of the shared folder.For Stackit is bucket name."
          },
          "s3Region" : {
            "type" : "string",
            "description" : "S3 Bucket Region"
          },
          "awsAccessId" : {
            "type" : "string",
            "description" : "AWS IAM user's access ID"
          },
          "awsSecretKey" : {
            "type" : "string",
            "description" : "AWS IAM user's secret key"
          },
          "azureStorageAccountName" : {
            "type" : "string",
            "description" : "Azure Storage Account name"
          },
          "azureSecretKey" : {
            "type" : "string",
            "description" : "Azure Storage Account shared key"
          },
          "gcsServiceAccountKey" : {
            "type" : "string",
            "description" : "Google Cloud Storage Service Account Key, which should be base64 encoded"
          },
          "stackit" : {
            "$ref" : "#/components/schemas/StackItPatch"
          }
        },
        "description" : "sharedStorage information for Patch input request"
      },
      "StackItPatch" : {
        "type" : "object",
        "properties" : {
          "region" : {
            "type" : "string",
            "description" : "Stackit Bucket Region"
          },
          "accessId" : {
            "type" : "string",
            "description" : "Stackit Access ID"
          },
          "secretKey" : {
            "type" : "string",
            "description" : "Stackit Secret Key"
          }
        },
        "description" : "Stackit related information"
      },
      "StorageConfigurationPatchDto" : {
        "required" : [ "sharedFileStore" ],
        "type" : "object",
        "properties" : {
          "sharedFileStore" : {
            "$ref" : "#/components/schemas/SharedStoragePatch"
          }
        }
      },
      "ProjectCreationInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "description" : {
            "type" : "string",
            "description" : "Project description"
          }
        }
      },
      "OwnerInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Owner name"
          },
          "id" : {
            "type" : "string",
            "description" : "Owner ID"
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Owner expired"
          }
        },
        "description" : "Owner information",
        "readOnly" : true
      },
      "ProjectInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          }
        },
        "description" : "Project information"
      },
      "AnswerQueryDto" : {
        "type" : "object",
        "properties" : {
          "explanation" : {
            "type" : "string",
            "description" : "Explanation of the query process."
          }
        },
        "description" : "Queries for the answer."
      },
      "AtlasChatDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chat ID"
          },
          "questions" : {
            "type" : "array",
            "description" : "Chat QA",
            "items" : {
              "$ref" : "#/components/schemas/AtlasMessageDto"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Creation date of chat",
            "format" : "date-time"
          },
          "cycleEndDate" : {
            "type" : "string",
            "description" : "End date of current cycle",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string",
            "description" : "chat name"
          },
          "chatType" : {
            "type" : "integer",
            "description" : "chat type",
            "format" : "int32"
          },
          "timestamp" : {
            "type" : "string",
            "description" : "modified timestamp",
            "format" : "date-time"
          }
        }
      },
      "AtlasMessageDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Question id"
          },
          "text" : {
            "type" : "string",
            "description" : "Question text."
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "snapshot" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "history", "snapshots", "historyAndSnapshots" ]
          },
          "processingStatus" : {
            "$ref" : "#/components/schemas/QuestionStatus"
          },
          "isFinished" : {
            "type" : "boolean"
          },
          "thumbUp" : {
            "type" : "boolean"
          },
          "thumbDown" : {
            "type" : "boolean"
          },
          "reportStage" : {
            "$ref" : "#/components/schemas/ReportStageDto"
          },
          "selectedObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectObject"
            }
          },
          "answers" : {
            "type" : "array",
            "description" : "Question answers.",
            "items" : {
              "$ref" : "#/components/schemas/AutomaticRoutingQuestionAnswerDto"
            }
          }
        },
        "description" : "Chat QA"
      },
      "AutomaticRoutingQuestionAnswerDto" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "bot" : {
            "$ref" : "#/components/schemas/BotDto"
          },
          "text" : {
            "type" : "string",
            "description" : "Answer text."
          },
          "type" : {
            "type" : "string",
            "description" : "Answer type.",
            "enum" : [ "visualization", "markdown", "text", "error", "diagnostics", "choice", "search", "dash", "email", "web", "html" ]
          },
          "interpretedQuestion" : {
            "type" : "string",
            "description" : "interpreted question"
          },
          "queries" : {
            "type" : "array",
            "description" : "Queries for the answer.",
            "items" : {
              "$ref" : "#/components/schemas/AnswerQueryDto"
            }
          },
          "insights" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "charts" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "columnFormats" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "attributesUsed" : {
            "type" : "array",
            "description" : "used attributes.",
            "items" : {
              "type" : "string",
              "description" : "used attributes."
            }
          },
          "metricsUsed" : {
            "type" : "array",
            "description" : "used metrics.",
            "items" : {
              "type" : "string",
              "description" : "used metrics."
            }
          },
          "attributeFormsUsed" : {
            "type" : "array",
            "description" : "used attribute forms.",
            "items" : {
              "type" : "string",
              "description" : "used attribute forms."
            }
          },
          "datasetsUsed" : {
            "type" : "array",
            "description" : "used datasets.",
            "items" : {
              "type" : "string",
              "description" : "used datasets."
            }
          },
          "unstructuredDataUsed" : {
            "type" : "array",
            "description" : "unstructured data.",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataUsedDto"
            }
          },
          "chatSummary" : {
            "type" : "string"
          },
          "isCacheUsed" : {
            "type" : "boolean"
          },
          "sqlQueries" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "clarifyingSuggestions" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "additionalContext" : {
            "type" : "string"
          },
          "locale" : {
            "type" : "string"
          },
          "data" : {
            "$ref" : "#/components/schemas/Cache"
          },
          "diagnostics" : {
            "$ref" : "#/components/schemas/Cache"
          },
          "images" : {
            "type" : "array",
            "description" : "Visualization image data.It is only used when answer type is 'visualization', it is only contains image id and size. You need to call 'GET api/questions/{questionId}/answers/images/{imageId}' to get the image data.",
            "items" : {
              "$ref" : "#/components/schemas/Image"
            }
          },
          "detailError" : {
            "type" : "string",
            "description" : "Detail error message, this has value when the type is 'error'."
          },
          "context" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "uiContextType" : {
            "type" : "string",
            "description" : "Dashboard UI context type."
          },
          "uiContext" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "agentType" : {
            "type" : "string",
            "description" : "Agent type",
            "enum" : [ "regular", "report" ]
          },
          "reportImages" : {
            "type" : "array",
            "description" : "Report images associated with the answer.",
            "items" : {
              "$ref" : "#/components/schemas/ReportImageFile"
            }
          },
          "content" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "references" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "thinking" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "relatedObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectObject"
            }
          }
        },
        "description" : "Question answers."
      },
      "BotDto" : {
        "required" : [ "id", "projectId" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent id."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project id."
          },
          "chatId" : {
            "type" : "string",
            "description" : "chat id"
          }
        },
        "description" : "The Agent that answered the question"
      },
      "Cache" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Cache file id."
          }
        },
        "description" : "Diagnostics JSON data."
      },
      "Image" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Image id."
          },
          "width" : {
            "type" : "integer",
            "description" : "Image width.",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "description" : "Image height.",
            "format" : "int32"
          }
        },
        "description" : "Visualization image data.It is only used when answer type is 'visualization', it is only contains image id and size. You need to call 'GET api/questions/{questionId}/answers/images/{imageId}' to get the image data."
      },
      "JsonNode" : {
        "type" : "object",
        "description" : "Report warning message"
      },
      "ProjectObject" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "type" : {
            "type" : "integer",
            "format" : "int32"
          },
          "subtype" : {
            "type" : "integer",
            "format" : "int32"
          },
          "name" : {
            "type" : "string"
          },
          "startIndex" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "QuestionStatus" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "Question status id.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Question status name."
          },
          "result" : {
            "type" : "string",
            "description" : "Question status result."
          }
        },
        "description" : "Question processing status"
      },
      "ReportImageFile" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "fileId" : {
            "type" : "string"
          }
        },
        "description" : "Report images associated with the answer."
      },
      "ReportStageDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          }
        },
        "description" : "Report stage"
      },
      "UnstructuredDataUsedDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "botId" : {
            "type" : "string"
          },
          "pageNumbers" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        },
        "description" : "unstructured data."
      },
      "AtlasMessageCreateDto" : {
        "type" : "object",
        "properties" : {
          "messageId" : {
            "type" : "string"
          },
          "text" : {
            "type" : "string"
          },
          "needChatSummary" : {
            "type" : "boolean"
          },
          "useStreaming" : {
            "type" : "boolean"
          },
          "charts" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "selectedObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectObject"
            }
          },
          "history" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ChatMessage"
            }
          },
          "palettes" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "themeColors" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "ChatMessage" : {
        "required" : [ "id", "question", "text" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Question id."
          },
          "question" : {
            "type" : "string",
            "description" : "Question text."
          },
          "text" : {
            "type" : "string",
            "description" : "Answer text."
          },
          "additionalContext" : {
            "type" : "string",
            "description" : "Additional context for the message."
          }
        },
        "description" : "History message of the chat. Only one history message can be specified."
      },
      "AtlasChatGroupDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chats ID"
          },
          "chats" : {
            "type" : "array",
            "description" : "List of chat objects",
            "items" : {
              "$ref" : "#/components/schemas/AtlasChatDto"
            }
          },
          "snapshotSortBy" : {
            "type" : "string",
            "description" : "Snapshot sort order"
          },
          "settings" : {
            "$ref" : "#/components/schemas/ChatGroupSettingDto"
          }
        }
      },
      "ChatGroupSettingDto" : {
        "type" : "object",
        "properties" : {
          "voiceName" : {
            "type" : "string"
          }
        },
        "description" : "Chat group settings"
      },
      "PatchOperation" : {
        "type" : "object",
        "properties" : {
          "operation" : {
            "type" : "string",
            "xml" : {
              "name" : "op"
            },
            "enum" : [ "ADD", "REMOVE", "REPLACE" ]
          },
          "path" : {
            "$ref" : "#/components/schemas/PatchOperationPath"
          },
          "value" : {
            "type" : "object"
          }
        }
      },
      "PatchOperationsPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PatchOperation"
            }
          }
        },
        "example" : "{\n \"operationList\": [\n    {\n \"op\": \"replace\",\n \"path\": \"/snapshot\",\n \"value\": true\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/snapshot\",\n \"value\": false\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/thumbDown\",\n \"value\": true\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/thumbDown\",\n \"value\": false\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/category\",\n    {\n  \"op\": \"replace\",\n \"path\": \"/nuggetsUsed\",\n \"value\": \"[]\"\n},\n      \"value\": \"new category id\" \n } \n] \n}"
      },
      "MessagePatchOperation" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Operation to be performed",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          },
          "from" : {
            "type" : "string",
            "description" : "Path to source where operation will be performed"
          },
          "handler" : {
            "$ref" : "#/components/schemas/MessagePatchOperationHandler"
          }
        }
      },
      "MessagePatchOperationHandler" : {
        "type" : "object"
      },
      "PatchOperationsMessagePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MessagePatchOperation"
            }
          }
        },
        "example" : "{\n \"operationList\": [\n    {\n \"op\": \"replace\",\n \"path\": \"/snapshot\",\n \"value\": true\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/snapshot\",\n \"value\": false\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/thumbDown\",\n \"value\": true\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/thumbDown\",\n \"value\": false\n},\n    {\n  \"op\": \"replace\",\n \"path\": \"/category\",\n    {\n  \"op\": \"replace\",\n \"path\": \"/nuggetsUsed\",\n \"value\": \"[]\"\n},\n      \"value\": \"new category id\" \n } \n] \n}"
      },
      "AuthRequest" : {
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string",
            "description" : "User login name",
            "example" : "administrator"
          },
          "password" : {
            "type" : "string",
            "description" : "User password"
          },
          "loginMode" : {
            "type" : "integer",
            "description" : "Authentication mode. See [EnumDSSXMLAuthModes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAuthModes.html) for possible values",
            "format" : "int32",
            "example" : 1,
            "default" : 1
          },
          "maxSearch" : {
            "type" : "integer",
            "description" : "Maximum number of concurrent searches. Default to 3",
            "format" : "int32",
            "example" : 3,
            "default" : 3
          },
          "workingSet" : {
            "minimum" : 3,
            "type" : "integer",
            "description" : "Number of report/document instances that are kept in memory on the server before the oldest instance is replaced. Default to 10",
            "format" : "int32",
            "example" : 10,
            "default" : 10
          },
          "changePassword" : {
            "type" : "boolean",
            "description" : "Specifies that you want to change the password for standard authentication",
            "example" : false
          },
          "newPassword" : {
            "type" : "string",
            "description" : "New user password for standard authentication"
          },
          "metadataLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's metadata",
            "example" : "en_us",
            "default" : "en_us"
          },
          "warehouseDataLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's warehouse data",
            "example" : "en_us",
            "default" : "en_us"
          },
          "displayLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's display",
            "example" : "en_us",
            "default" : "en_us"
          },
          "messagesLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's messages",
            "example" : "en_us",
            "default" : "en_us"
          },
          "numberLocale" : {
            "type" : "string",
            "description" : "Default locale for the user's numbers",
            "example" : "en_us",
            "default" : "en_us"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "Default timezone to be used for the user's session",
            "example" : "UTC"
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Preview feature. To login using the login mode configured in a custom application, please provide the custom application ID. Use 'null' or keep the field unset to login using server login modes.",
            "example" : "C2B2023642F6753A2EF159A75E0CFF29",
            "default" : "null"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant Id the user belongs to in a multi-tenant environment. This is required for login in a multi-tenant environment with a tenant link, but optional for a single tenant environment or global link.",
            "example" : ""
          },
          "stickyTenantId" : {
            "type" : "string",
            "description" : "To login to a specific tenant and keep the session sticky to that tenant in a multi-tenant environment, provide the sticky tenant ID.",
            "example" : ""
          },
          "applicationType" : {
            "type" : "integer",
            "description" : "Application type. See [EnumDSSXMLApplicationType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html) for possible values",
            "format" : "int32",
            "example" : 35
          }
        },
        "description" : "Authenticate the user"
      },
      "ApiToken" : {
        "type" : "object",
        "properties" : {
          "apiToken" : {
            "type" : "string",
            "description" : "API Token."
          }
        }
      },
      "UserIdForApiToken" : {
        "type" : "object",
        "properties" : {
          "userId" : {
            "type" : "string",
            "description" : "User ID, a GUID, uniquely identify a user. "
          }
        }
      },
      "OidcTokenRequest" : {
        "type" : "object",
        "properties" : {
          "access_token" : {
            "type" : "string",
            "description" : "OAuth2.0 access token, please refer to [Access Token](https://datatracker.ietf.org/doc/html/rfc6749#section-1.4) for details. This property is mandatory."
          },
          "refresh_token" : {
            "type" : "string",
            "description" : "OAuth2.0 refresh token, please refer to [Refresh Token](https://datatracker.ietf.org/doc/html/rfc6749#section-1.4) for details. This property is optional."
          },
          "scope" : {
            "type" : "string",
            "description" : "scope"
          },
          "token_type" : {
            "type" : "string",
            "description" : "token type, should always be Bearer",
            "example" : "Bearer",
            "default" : "Bearer"
          },
          "id_token" : {
            "type" : "string",
            "description" : "OpenID Connect ID token, please refer to [ID Token](https://openid.net/specs/openid-connect-core-1_0.html#IDToken) for details. This property is mandatory by default. Could be optional if the server is configured to not require ID token(directRetrieveUserInfo is set to true)."
          },
          "id_token_required" : {
            "type" : "boolean",
            "description" : "Indicate whether ID token is required. The default value is true. If set to false, the ID token is optional and could be null."
          },
          "expires_in" : {
            "type" : "integer",
            "description" : "seconds to expire for access token",
            "format" : "int32",
            "example" : 3600,
            "default" : 3600
          }
        },
        "description" : "The structure contains OIDC Tokens to be used to login to MicroStrategy Library Server. Please refer to [OIDC Token Response](https://openid.net/specs/openid-connect-core-1_0.html#TokenResponse) for details."
      },
      "DelegateInfo" : {
        "type" : "object",
        "properties" : {
          "loginMode" : {
            "type" : "integer",
            "description" : "Authentication mode. Value must be -1",
            "format" : "int32",
            "example" : -1
          },
          "identityToken" : {
            "type" : "string",
            "description" : "Previously assigned identity token used to create a new Web session that shares an IServer session. Use POST /auth/identityToken to generate identity token."
          },
          "codeVerifier" : {
            "type" : "string",
            "description" : "The PKCE code verifier. please refer to [PKCE](https://www.rfc-editor.org/rfc/rfc7636) for details. This property is optional."
          }
        }
      },
      "BookmarkBulkDeletionRequest" : {
        "type" : "object",
        "properties" : {
          "shortcutId" : {
            "type" : "string",
            "description" : "shortcut Id"
          },
          "bookmarkIds" : {
            "type" : "array",
            "description" : "bookmarkIds",
            "items" : {
              "type" : "string",
              "description" : "bookmarkIds"
            }
          }
        },
        "description" : "Bookmark bulk deletion information"
      },
      "BookmarkCreationResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bookmark ID"
          }
        },
        "description" : "Bookmark information"
      },
      "BookmarkManipulation" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Bookmark Name"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "document shortcut instance ID"
          }
        },
        "description" : "Bookmark manipulation information"
      },
      "BookmarkDeletionRequest" : {
        "type" : "object",
        "properties" : {
          "shortcutId" : {
            "type" : "string",
            "description" : "shortcut Id"
          }
        },
        "description" : "Bookmark deletion information"
      },
      "BookmarkDetails" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Bookmark Name"
          },
          "id" : {
            "type" : "string",
            "description" : "Bookmark ID"
          },
          "version" : {
            "type" : "string",
            "description" : "Bookmark version ID"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Bookmark creation time in UTC",
            "format" : "date-time"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Bookmark last updated time in UTC",
            "format" : "date-time"
          },
          "lastViewTime" : {
            "type" : "string",
            "description" : "Bookmark last viewed time in UTC",
            "format" : "date-time"
          },
          "href" : {
            "type" : "string",
            "description" : "Relative URL to get boomark details"
          },
          "shared" : {
            "type" : "boolean",
            "description" : "Bookmark has been shared to others"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Bookmark has been deleted by shared owner"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          }
        },
        "description" : "Bookmark Details"
      },
      "PatchOperationsShortcutPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ShortcutPatchOperation"
            }
          }
        }
      },
      "ShortcutPatchOperation" : {
        "required" : [ "id", "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "add",
            "enum" : [ "add", "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/bookmarks"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "bookmark id"
          },
          "id" : {
            "type" : "integer",
            "description" : "Patch operation id",
            "format" : "int32",
            "example" : 1
          }
        }
      },
      "ShortcutGroup" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Shortcut Group name"
          },
          "itemKeys" : {
            "type" : "array",
            "description" : "Shortcut Group items",
            "items" : {
              "type" : "string",
              "description" : "Shortcut Group items"
            }
          }
        },
        "description" : "short group information which contains id, name and item keys."
      },
      "PatchOperationsShortcutGroupPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ShortcutGroupPatchOperation"
            }
          }
        }
      },
      "ShortcutGroupPatchOperation" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Use addElement, replace or removeElement operation to be performed",
            "enum" : [ "addElement", "replace", "removeElement" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "enum" : [ "/name", "/color", "/itemKeys" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "BotInstanceCreateDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bot instance id."
          }
        }
      },
      "BotInstanceConfigDto" : {
        "type" : "object",
        "properties" : {
          "context" : {
            "$ref" : "#/components/schemas/ContextDto"
          }
        }
      },
      "ContextDto" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Context type. 'new' is the default mode, would start a new question context. 'history' reuse the questions of the conversation.",
            "example" : "new",
            "enum" : [ "new", "history" ]
          }
        },
        "description" : "Question context."
      },
      "BotSuggestedQuestionDto" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Suggestions text."
          }
        },
        "description" : "Question Suggestions."
      },
      "BotSuggestionCreateDto" : {
        "type" : "object",
        "properties" : {
          "suggestions" : {
            "type" : "array",
            "description" : "Question Suggestions.",
            "items" : {
              "$ref" : "#/components/schemas/BotSuggestedQuestionDto"
            }
          }
        }
      },
      "BotSuggestionPostDto" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "maximum" : 5,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Suggested question count",
            "format" : "int32"
          }
        }
      },
      "BotTopicCreateDto" : {
        "type" : "object",
        "properties" : {
          "topics" : {
            "type" : "array",
            "description" : "Suggested topics.",
            "items" : {
              "$ref" : "#/components/schemas/BotTopicDto"
            }
          }
        }
      },
      "BotTopicDto" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Suggested topic title."
          },
          "description" : {
            "type" : "string",
            "description" : "Suggested topic description."
          },
          "dataset" : {
            "type" : "string",
            "description" : "Associated dataset."
          }
        },
        "description" : "Suggested topics."
      },
      "BotExcludedTopicDto" : {
        "required" : [ "title" ],
        "type" : "object",
        "properties" : {
          "title" : {
            "maxLength" : 70,
            "minLength" : 0,
            "type" : "string",
            "description" : "Title of the topic to be excluded."
          },
          "description" : {
            "maxLength" : 180,
            "minLength" : 0,
            "type" : "string",
            "description" : "Description of the topic to be excluded."
          }
        },
        "description" : "Topics to exclude"
      },
      "BotTopicPostDto" : {
        "required" : [ "count" ],
        "type" : "object",
        "properties" : {
          "count" : {
            "maximum" : 3,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Suggested topics count",
            "format" : "int32"
          },
          "excludedTopics" : {
            "maxItems" : 5,
            "minItems" : 0,
            "type" : "array",
            "description" : "Topics to exclude",
            "items" : {
              "$ref" : "#/components/schemas/BotExcludedTopicDto"
            }
          }
        }
      },
      "BotConfigurationDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Bot name"
          },
          "greeting" : {
            "type" : "string",
            "description" : "Bot greeting"
          },
          "hint" : {
            "type" : "string",
            "description" : "Bot hint"
          },
          "externalLinks" : {
            "type" : "array",
            "description" : "Bot external links",
            "items" : {
              "$ref" : "#/components/schemas/BotExternalLink"
            }
          }
        }
      },
      "BotExternalLink" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Link id"
          },
          "name" : {
            "type" : "string",
            "description" : "Link name"
          },
          "url" : {
            "type" : "string",
            "description" : "Link url"
          },
          "icon" : {
            "type" : "string",
            "description" : "Link icon"
          }
        },
        "description" : "Bot external link"
      },
      "AnswerDto" : {
        "required" : [ "text", "type" ],
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Answer text."
          },
          "detailError" : {
            "type" : "string",
            "description" : "Detail error message, this has value when the type is 'error'."
          },
          "type" : {
            "type" : "string",
            "description" : "Answer type.",
            "enum" : [ "visualization", "markdown", "text", "error", "diagnostics", "choice", "search", "dash", "email", "web", "html" ]
          },
          "data" : {
            "$ref" : "#/components/schemas/Cache"
          }
        },
        "description" : "Question answers."
      },
      "QuestionGetDto" : {
        "required" : [ "answers", "text" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Question id."
          },
          "text" : {
            "type" : "string",
            "description" : "Question text."
          },
          "answers" : {
            "type" : "array",
            "description" : "Question answers.",
            "items" : {
              "$ref" : "#/components/schemas/AnswerDto"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Question creation date.",
            "format" : "date-time"
          }
        }
      },
      "BotQuestionPostDto" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "maxLength" : 1000,
            "minLength" : 1,
            "type" : "string",
            "description" : "Question text."
          }
        }
      },
      "QuestionListDto" : {
        "type" : "object",
        "properties" : {
          "questions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/QuestionGetDto"
            }
          }
        }
      },
      "Answer" : {
        "required" : [ "text", "type" ],
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Answer text."
          },
          "type" : {
            "type" : "string",
            "description" : "Answer type.",
            "enum" : [ "visualization", "markdown", "text", "error", "diagnostics", "choice", "search", "dash", "email", "web", "html" ]
          },
          "cache" : {
            "$ref" : "#/components/schemas/Cache"
          },
          "diagnosticsCache" : {
            "$ref" : "#/components/schemas/Cache"
          }
        }
      },
      "Category" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Category ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Category name"
          }
        },
        "description" : "Categories"
      },
      "Chat" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chat ID"
          },
          "snapshotSortBy" : {
            "type" : "string",
            "description" : "Snapshot sort order"
          },
          "messages" : {
            "type" : "array",
            "description" : "Chat messages",
            "items" : {
              "$ref" : "#/components/schemas/Message"
            }
          },
          "categories" : {
            "type" : "array",
            "description" : "Categories",
            "items" : {
              "$ref" : "#/components/schemas/Category"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Creation date of chat",
            "format" : "date-time"
          },
          "cycleEndDate" : {
            "type" : "string",
            "description" : "End date of current cycle",
            "format" : "date-time"
          },
          "questionCountInCurrentCycle" : {
            "type" : "integer",
            "description" : "Questions asked in current cycle",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "chat name"
          },
          "chatType" : {
            "type" : "string",
            "description" : "chat type",
            "enum" : [ "0", "1", "2", "3", "4" ]
          },
          "timestamp" : {
            "type" : "string",
            "description" : "chat timestamp",
            "format" : "date-time"
          }
        },
        "description" : "List of chat objects"
      },
      "ChatGroupSetting" : {
        "type" : "object",
        "properties" : {
          "voiceName" : {
            "type" : "string"
          }
        }
      },
      "Chats" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chats ID"
          },
          "chats" : {
            "type" : "array",
            "description" : "List of chat objects",
            "items" : {
              "$ref" : "#/components/schemas/Chat"
            }
          },
          "snapshotSortBy" : {
            "type" : "string",
            "description" : "Snapshot sort order"
          },
          "userId" : {
            "type" : "string"
          },
          "settings" : {
            "$ref" : "#/components/schemas/ChatGroupSetting"
          }
        }
      },
      "Message" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "questionId" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "history", "snapshots", "historyAndSnapshots" ]
          },
          "snapshot" : {
            "type" : "boolean"
          },
          "categoryId" : {
            "type" : "string"
          },
          "topic" : {
            "$ref" : "#/components/schemas/Topic"
          },
          "openEndedData" : {
            "$ref" : "#/components/schemas/OpenEndedData"
          },
          "question" : {
            "$ref" : "#/components/schemas/Question"
          },
          "title" : {
            "type" : "string"
          },
          "answers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Answer"
            }
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "thumbDown" : {
            "type" : "boolean"
          },
          "thumbUp" : {
            "type" : "boolean"
          },
          "nuggetsUsed" : {
            "type" : "string"
          }
        },
        "description" : "Chat messages"
      },
      "OpenEndedData" : {
        "required" : [ "id", "text" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Open ended id."
          },
          "text" : {
            "type" : "string",
            "description" : "Open ended text."
          }
        }
      },
      "Question" : {
        "required" : [ "text" ],
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Question text."
          },
          "selectedObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectObject"
            }
          },
          "quotedQuestionIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "Topic" : {
        "required" : [ "id", "text" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Topic id."
          },
          "text" : {
            "type" : "string",
            "description" : "Topic text."
          }
        }
      },
      "BotNugget" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bot nugget id"
          },
          "status" : {
            "type" : "string",
            "description" : "Bot nugget status"
          }
        },
        "description" : "Bot Nugget"
      },
      "BotNuggets" : {
        "type" : "object",
        "properties" : {
          "nuggets" : {
            "type" : "array",
            "description" : "Bot nuggets",
            "items" : {
              "$ref" : "#/components/schemas/BotNugget"
            }
          }
        },
        "description" : "Bot Nuggets"
      },
      "BotRenderModeSettings" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "Bot render mode",
            "enum" : [ "edit", "consume" ]
          }
        },
        "description" : "Bot render mode settings"
      },
      "BotAppearanceSettings" : {
        "type" : "object",
        "properties" : {
          "logoUrl" : {
            "type" : "string",
            "description" : "Bot name"
          },
          "showLogo" : {
            "type" : "boolean",
            "description" : "Whether to show logo"
          },
          "theme" : {
            "$ref" : "#/components/schemas/BotTheme"
          }
        },
        "description" : "Bot appearance settings"
      },
      "BotConfiguration" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Bot name"
          },
          "greeting" : {
            "type" : "string",
            "description" : "Bot greeting"
          },
          "hint" : {
            "type" : "string",
            "description" : "Bot hint"
          },
          "enableTopics" : {
            "type" : "boolean",
            "description" : "Bot topics setting"
          },
          "topics" : {
            "type" : "array",
            "description" : "Bot topics",
            "items" : {
              "$ref" : "#/components/schemas/BotTopic"
            }
          },
          "enableQuestionSuggestions" : {
            "type" : "boolean",
            "description" : "Whether to enable question suggestions"
          },
          "autoSuggestionsAmount" : {
            "type" : "integer",
            "description" : "Amount of auto suggestions",
            "format" : "int32"
          },
          "customSuggestions" : {
            "type" : "array",
            "description" : "Custom suggestions",
            "items" : {
              "$ref" : "#/components/schemas/BotQuestionInputSuggestion"
            }
          }
        },
        "description" : "Bot configuration",
        "readOnly" : true
      },
      "BotCustomInstructionSettings" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the custom instruction is enabled"
          },
          "businessInfo" : {
            "maxLength" : 2500,
            "minLength" : 0,
            "type" : "string",
            "description" : "Business information"
          },
          "responseStyle" : {
            "maxLength" : 2500,
            "minLength" : 0,
            "type" : "string",
            "description" : "Response style"
          },
          "deniedAnswer" : {
            "maxLength" : 2500,
            "minLength" : 0,
            "type" : "string",
            "description" : "Denied answer"
          }
        },
        "description" : "Bot custom instruction settings"
      },
      "BotCustomizationSettings" : {
        "type" : "object",
        "properties" : {
          "sendObjectDescriptions" : {
            "type" : "boolean",
            "description" : "Whether to send the object descriptions"
          },
          "applyTimeFilter" : {
            "type" : "boolean",
            "description" : "Whether to apply time filter"
          }
        },
        "description" : "Bot customization settings"
      },
      "BotGeneralSettings" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 50,
            "minLength" : 0,
            "type" : "string",
            "description" : "The bot name"
          },
          "active" : {
            "type" : "boolean",
            "description" : "The bot status"
          },
          "maxQuestionPerUserPerMonth" : {
            "type" : "integer",
            "description" : "Max question limitation per user per month",
            "format" : "int32"
          },
          "coverImageUrl" : {
            "type" : "string",
            "description" : "Cover image url"
          },
          "greeting" : {
            "maxLength" : 500,
            "minLength" : 0,
            "type" : "string",
            "description" : "Bot greeting message"
          },
          "enableTopics" : {
            "type" : "boolean",
            "description" : "Bot topics setting"
          },
          "topics" : {
            "type" : "array",
            "description" : "Bot topics",
            "items" : {
              "$ref" : "#/components/schemas/BotTopic"
            }
          },
          "features" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean",
              "description" : "Bot features"
            },
            "description" : "Bot features"
          },
          "questionInput" : {
            "$ref" : "#/components/schemas/BotQuestionInputSettings"
          },
          "externalLinks" : {
            "type" : "array",
            "description" : "Bot external links",
            "items" : {
              "$ref" : "#/components/schemas/BotExternalLink"
            }
          },
          "linkFormat" : {
            "type" : "string",
            "description" : "Bot link format",
            "enum" : [ "text", "icon", "all" ]
          }
        },
        "description" : "Bot configuration"
      },
      "BotMultiLingualString" : {
        "type" : "object",
        "properties" : {
          "contentId" : {
            "type" : "string",
            "description" : "Bot multilingual string id"
          },
          "content" : {
            "type" : "string",
            "description" : "Bot multilingual string content"
          }
        },
        "description" : "Bot multilingual string"
      },
      "BotQuestionInputSettings" : {
        "type" : "object",
        "properties" : {
          "hint" : {
            "type" : "string",
            "description" : "The question input hint"
          },
          "enableQuestionSuggestions" : {
            "type" : "boolean",
            "description" : "Whether to enable question suggestions"
          },
          "autoSuggestionsAmount" : {
            "type" : "integer",
            "description" : "Amount of auto suggestions",
            "format" : "int32"
          },
          "customSuggestions" : {
            "type" : "array",
            "description" : "Custom suggestions",
            "items" : {
              "$ref" : "#/components/schemas/BotQuestionInputSuggestion"
            }
          }
        },
        "description" : "Bot question input settings"
      },
      "BotQuestionInputSuggestion" : {
        "type" : "object",
        "properties" : {
          "suggestion" : {
            "type" : "string",
            "description" : "Suggestion text"
          }
        },
        "description" : "Bot question input suggestion settings"
      },
      "BotTheme" : {
        "type" : "object",
        "properties" : {
          "color" : {
            "$ref" : "#/components/schemas/BotThemeColor"
          }
        },
        "description" : "Bot theme"
      },
      "BotThemeColor" : {
        "type" : "object",
        "properties" : {
          "selectedTheme" : {
            "type" : "string"
          },
          "formatting" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "description" : "Agent selected theme"
      },
      "BotThemeColorFormatting" : {
        "type" : "object",
        "properties" : {
          "accentFill" : {
            "type" : "string",
            "description" : "Accent fill"
          },
          "canvasFill" : {
            "type" : "string",
            "description" : "Canvas fill"
          },
          "panelColor" : {
            "type" : "string",
            "description" : "Panel color"
          },
          "panelFill" : {
            "type" : "string",
            "description" : "Panel fill"
          }
        },
        "description" : "Bot theme color formatting"
      },
      "BotTopic" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Bot topic title"
          },
          "description" : {
            "type" : "string",
            "description" : "Bot topic description"
          }
        },
        "description" : "Bot topic"
      },
      "BotPalettes" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bot palette id"
          }
        },
        "description" : "Bot palettes"
      },
      "Card" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "template" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Card template"
            },
            "description" : "Card template"
          }
        }
      },
      "CatalogMode" : {
        "required" : [ "cacheMode", "namespaceMode", "retrievalMode" ],
        "type" : "object",
        "properties" : {
          "retrievalMode" : {
            "type" : "string",
            "description" : "Datasource catalog retrieval Mode.",
            "enum" : [ "catalog_sql", "odbc" ]
          },
          "namespaceMode" : {
            "type" : "string",
            "description" : "Datasource catalog namespace Mode.",
            "enum" : [ "all", "current" ]
          },
          "cacheMode" : {
            "type" : "string",
            "description" : "Datasource catalog cache Mode.",
            "enum" : [ "none", "table", "table_and_column" ]
          }
        },
        "description" : "Catalog mode settings."
      },
      "CatalogOptions" : {
        "type" : "object",
        "properties" : {
          "columnMergeOption" : {
            "type" : "string",
            "description" : "Column merge options. Used when column name is identical with existing column.",
            "enum" : [ "reuse_compatible_data_type", "reuse_any", "reuse_matched_data_type" ]
          },
          "tablePrefixOption" : {
            "type" : "string",
            "description" : "Table prefix option.",
            "enum" : [ "default", "none", "add_namespace", "add_default_prefix" ]
          },
          "defaultTablePrefixId" : {
            "type" : "string",
            "description" : "Table prefix id."
          },
          "defaultTablePrefixName" : {
            "type" : "string",
            "description" : "Table prefix name."
          },
          "ignoreTablePrefix" : {
            "type" : "boolean",
            "description" : "Ignore table prefix or not. Used when updating table structure."
          },
          "autoMapping" : {
            "type" : "boolean",
            "description" : "Auto mapping or not. When setting to true, it will automatically map objects that exist in the schema to the tables you add to the project."
          }
        },
        "description" : "Catalog Option settings."
      },
      "CatalogSettings" : {
        "type" : "object",
        "properties" : {
          "catalogMode" : {
            "$ref" : "#/components/schemas/CatalogMode"
          },
          "catalogSqls" : {
            "$ref" : "#/components/schemas/CatalogSqls"
          },
          "catalogOptions" : {
            "$ref" : "#/components/schemas/CatalogOptions"
          }
        }
      },
      "CatalogSql" : {
        "required" : [ "mode", "sql", "type" ],
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "The mode of the CatalogSQL."
          },
          "type" : {
            "type" : "string",
            "description" : "The type of the CatalogSQL."
          },
          "sql" : {
            "type" : "string",
            "description" : "The sql statement."
          },
          "default" : {
            "type" : "boolean",
            "description" : "The flag indicates using default SQL or not."
          }
        },
        "description" : "The current sql statements."
      },
      "CatalogSqls" : {
        "required" : [ "currentSqls" ],
        "type" : "object",
        "properties" : {
          "defaultSqls" : {
            "type" : "array",
            "description" : "The default sql statements.",
            "items" : {
              "$ref" : "#/components/schemas/CatalogSql"
            }
          },
          "currentSqls" : {
            "type" : "array",
            "description" : "The current sql statements.",
            "items" : {
              "$ref" : "#/components/schemas/CatalogSql"
            }
          }
        },
        "description" : "Catalog SQL settings."
      },
      "Namespace" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Namespace name."
          },
          "id" : {
            "type" : "string",
            "description" : "Identifier for the namespace. Do not persist this id as it will change if the namespace name changes."
          }
        },
        "description" : "List of namespaces."
      },
      "Namespaces" : {
        "type" : "object",
        "properties" : {
          "namespaces" : {
            "type" : "array",
            "description" : "List of namespaces.",
            "items" : {
              "$ref" : "#/components/schemas/Namespace"
            }
          }
        }
      },
      "ColumnInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "column name",
            "example" : "Column 1"
          },
          "type" : {
            "type" : "integer",
            "description" : "column type",
            "format" : "int32",
            "example" : 21
          }
        },
        "description" : "column info"
      },
      "DataTypeInfo" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Enums of MicroStrategy column datatype. When the data warehouse catalog is read, all columns in the database are automatically mapped to one of this enums.If the data type is Unknown, it implies that the data type in the database has not mapped to one of the MicroStrategy column data type enums.",
            "enum" : [ "unknown", "reserved", "integer", "unsigned", "numeric", "decimal", "real", "double", "float", "char", "fixed_length_string", "variable_length_string", "binary", "var_bin", "long_var_bin", "date", "time", "time_stamp", "short", "long", "mb_char", "bool", "pattern", "big_decimal", "cell_format_data", "missing", "n_char", "n_var_char", "n_pattern", "utf8_char", "int64", "guid", "double_double", "last_one" ]
          },
          "scale" : {
            "type" : "integer",
            "description" : "column scale.",
            "format" : "int32"
          },
          "precision" : {
            "type" : "integer",
            "description" : "column precision.",
            "format" : "int32"
          }
        },
        "description" : "Column datatype info."
      },
      "TableData" : {
        "type" : "object",
        "properties" : {
          "columns" : {
            "type" : "array",
            "description" : "List of column info.",
            "items" : {
              "$ref" : "#/components/schemas/ColumnInfo"
            }
          },
          "totalRowCount" : {
            "type" : "integer",
            "description" : "Total rows of table.",
            "format" : "int64"
          },
          "data" : {
            "type" : "array",
            "description" : "Preview data of table.",
            "items" : {
              "type" : "array",
              "description" : "Preview data of table.",
              "items" : {
                "type" : "object",
                "description" : "Preview data of table."
              }
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Database table name"
          },
          "id" : {
            "type" : "string",
            "description" : "Identifier for the table. Do not persist this id as it will change if the table name or namespace changes."
          }
        }
      },
      "SqlQuery" : {
        "required" : [ "sqlStatement" ],
        "type" : "object",
        "properties" : {
          "sqlStatement" : {
            "type" : "string",
            "description" : "SQL statement"
          }
        }
      },
      "TableInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database table name"
          },
          "id" : {
            "type" : "string",
            "description" : "Identifier for the table. Do not persist this id as it will change if the table name or namespace changes."
          },
          "namespace" : {
            "type" : "string",
            "description" : "Namespace name."
          }
        },
        "description" : "List of tableInfos."
      },
      "TableInfos" : {
        "type" : "object",
        "properties" : {
          "tables" : {
            "type" : "array",
            "description" : "List of tableInfos.",
            "items" : {
              "$ref" : "#/components/schemas/TableInfo"
            }
          }
        }
      },
      "SapHanaVariableInfo" : {
        "type" : "object",
        "properties" : {
          "variableName" : {
            "type" : "string",
            "description" : "SAP HANA variable name."
          },
          "columnSqlType" : {
            "type" : "string",
            "description" : "SAP HANA column SQL type."
          },
          "valueType" : {
            "type" : "string",
            "description" : "Enums of SAP HANA variable value type.",
            "enum" : [ "default", "attribute_value", "currency", "date", "static_list", "empty" ]
          },
          "valueAttribute" : {
            "type" : "string",
            "description" : "SAP HANA value attribute"
          },
          "selectionType" : {
            "type" : "string",
            "description" : "Enums of SAP HANA variable selection type.",
            "enum" : [ "default", "single_value", "interval", "range" ]
          },
          "multiline" : {
            "type" : "boolean",
            "description" : "Whether the SAP HANA variable is multiline."
          },
          "mandatory" : {
            "type" : "boolean",
            "description" : "Whether the SAP HANA variable is mandatory."
          },
          "modelElementName" : {
            "type" : "string",
            "description" : "SAP HANA model element name."
          },
          "placeholderName" : {
            "type" : "string",
            "description" : "SAP HANA placeholder name."
          },
          "defaultValue" : {
            "type" : "string",
            "description" : "SAP HANA default value."
          },
          "columnDataType" : {
            "type" : "string",
            "description" : "SAP HANA column data type.",
            "enum" : [ "DssDataTypeUnknown", "DssDataTypeReserved", "DssDataTypeInteger", "DssDataTypeUnsigned", "DssDataTypeNumeric", "DssDataTypeDecimal", "DssDataTypeReal", "DssDataTypeDouble", "DssDataTypeFloat", "DssDataTypeChar", "DssDataTypeVarChar", "DssDataTypeLongVarChar", "DssDataTypeBinary", "DssDataTypeVarBin", "DssDataTypeLongVarBin", "DssDataTypeDate", "DssDataTypeTime", "DssDataTypeTimeStamp", "DssDataTypeShort", "DssDataTypeLong", "DssDataTypeMBChar", "DssDataTypeBool", "DssDataTypePattern", "DssDataTypeBigDecimal", "DssDataTypeCellFormatData", "DssDataTypeMissing", "DssDataTypeNChar", "DssDataTypeNVarChar", "DssDataTypeNPattern", "DssDataTypeUTF8Char", "DssDataTypeInt64", "DssDataTypeGuid", "DssDataTypeDoubleDouble", "DssDataTypeLastOne" ]
          },
          "description" : {
            "type" : "string",
            "description" : "SAP HANA variable description."
          }
        },
        "description" : "List of SAP HANA variable info."
      },
      "TableSchemaWithPartition" : {
        "type" : "object",
        "properties" : {
          "columns" : {
            "type" : "array",
            "description" : "List of column info.",
            "items" : {
              "$ref" : "#/components/schemas/ColumnInfo"
            }
          },
          "sapHanaVariables" : {
            "type" : "array",
            "description" : "List of SAP HANA variable info.",
            "items" : {
              "$ref" : "#/components/schemas/SapHanaVariableInfo"
            }
          },
          "sapHanaTableType" : {
            "type" : "string",
            "description" : "Enums of SAP HANA table type.",
            "enum" : [ "unknown", "sap_hana", "sap_hana_row", "sap_hana_column", "sap_hana_hybrid", "sap_hana_olap", "sap_hana_join", "sap_hana_hierarchy", "sap_hana_calculation" ]
          },
          "isPartition" : {
            "type" : "boolean",
            "description" : "Is partition table."
          },
          "id" : {
            "type" : "string",
            "description" : "Identifier for the table. Do not persist this id as it will change if the table name or namespace changes."
          },
          "name" : {
            "type" : "string",
            "description" : "Database table name"
          }
        },
        "description" : "List of tables with schema."
      },
      "TableSchemas" : {
        "type" : "object",
        "properties" : {
          "tables" : {
            "type" : "array",
            "description" : "List of tables with schema.",
            "items" : {
              "$ref" : "#/components/schemas/TableSchemaWithPartition"
            }
          },
          "namespace" : {
            "type" : "string",
            "description" : "Namespace name."
          }
        }
      },
      "TableSchema" : {
        "type" : "object",
        "properties" : {
          "columnCount" : {
            "type" : "integer",
            "description" : "column count",
            "format" : "int32",
            "example" : 1
          },
          "columnInfo" : {
            "type" : "array",
            "description" : "column info",
            "items" : {
              "$ref" : "#/components/schemas/ColumnInfo"
            }
          },
          "rowCount" : {
            "type" : "integer",
            "description" : "row count",
            "format" : "int32",
            "example" : 3
          }
        },
        "description" : "schema of result table"
      },
      "ChangeJournalSearchInstance" : {
        "type" : "object",
        "properties" : {
          "searchId" : {
            "type" : "string",
            "description" : "Message ID of the new Change Journal search instance"
          }
        }
      },
      "ChangeJournalSearchInfo" : {
        "type" : "object",
        "properties" : {
          "transactionSources" : {
            "type" : "array",
            "description" : "Transaction Sources",
            "items" : {
              "type" : "string",
              "description" : "Transaction Sources",
              "enum" : [ "reserved", "office", "server_admin", "server", "project_upgrade", "dss_web", "dss_scheduler", "custom_app", "narrowcast_server", "object_manager", "odbo_provider", "odbo_cube_designer", "command_manager", "enterprise_manager", "command_line_interface", "project_builder", "configuration_wizard", "md_scan", "cache_utility", "fire_event", "java_desktop", "web_services", "office_ws", "tools", "portal", "tester", "md_update", "combrowser", "mobile", "bulk_translation_tool", "health_center", "cube_advisor", "one_tier", "dossier_web", "dossier_mobile", "workstation", "library_mobile_android", "tableau", "qlik", "power_bi", "microsoft_office", "hyper_browser_chrome", "hyper_mobile_ios", "hyper_mobile_android", "hyper_office_outlook_web", "hyper_office_outlook_windows", "hyper_office_outlook_mac", "hyper_office_outlook_ios", "hyper_office_outlook_android", "hyper_voice_alexa", "hyper_messaging_slack", "hyper_desktop_mac", "hyper_desktop_windows", "hyper_sdk", "hyper_screen_apple_tv", "hyper_screen_fire_tv", "hyper_screen_android_tv", "jupyter", "rstudio", "product_01", "product_02", "product_03", "product_04", "product_05", "product_06", "python" ]
            }
          },
          "transactionTypes" : {
            "type" : "array",
            "description" : "Transaction Types",
            "items" : {
              "type" : "string",
              "description" : "Transaction Types",
              "enum" : [ "reserved", "enable_change_journal", "disable_change_journal", "purge_change_journal", "save_object", "save_objects", "save_linkitems", "delete_object", "delete_objects", "delete_project", "copy_object", "merge_user", "collect_garbage", "write_system_property", "write_database_password" ]
            }
          },
          "changeTypes" : {
            "type" : "array",
            "description" : "Change Types",
            "items" : {
              "type" : "string",
              "description" : "Change Types",
              "enum" : [ "reserved", "create_object", "change_object", "delete_object", "touch_folder", "create_linkitem", "change_linkitem", "delete_linkitem", "change_journal_enable", "change_journal_disable", "change_journal_purge" ]
            }
          },
          "sessionIds" : {
            "type" : "array",
            "description" : "Session IDs",
            "items" : {
              "type" : "string",
              "description" : "Session IDs"
            }
          },
          "machines" : {
            "type" : "array",
            "description" : "Machines",
            "items" : {
              "type" : "string",
              "description" : "Machines"
            }
          },
          "users" : {
            "type" : "array",
            "description" : "Users",
            "items" : {
              "type" : "string",
              "description" : "Users"
            }
          },
          "affectedProjects" : {
            "type" : "array",
            "description" : "Affected projects",
            "items" : {
              "type" : "string",
              "description" : "Affected projects"
            }
          },
          "affectedObjects" : {
            "type" : "array",
            "description" : "Affected objects",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndType"
            }
          },
          "beginTransactionId" : {
            "type" : "string",
            "description" : "Begin transaction ID"
          },
          "endTransactionId" : {
            "type" : "string",
            "description" : "End transaction ID"
          },
          "beginTime" : {
            "type" : "string",
            "description" : "Begin time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "End time"
          }
        }
      },
      "ObjectGuidAndType" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          }
        },
        "description" : "Affected objects"
      },
      "ChangeJournalEntry" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "machine" : {
            "type" : "string",
            "description" : "Machine"
          },
          "timestamp" : {
            "type" : "string",
            "description" : "Timestamp"
          },
          "sessionId" : {
            "type" : "string",
            "description" : "Session ID"
          },
          "transaction" : {
            "$ref" : "#/components/schemas/Transaction"
          },
          "user" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "changedObjects" : {
            "type" : "array",
            "description" : "Changed Objects",
            "items" : {
              "$ref" : "#/components/schemas/ChangeJournalObjectEntry"
            }
          },
          "changedLinks" : {
            "type" : "array",
            "description" : "Changed Links",
            "items" : {
              "$ref" : "#/components/schemas/ChangeJournalLinkitemEntry"
            }
          },
          "timestampISO" : {
            "type" : "string",
            "description" : "Timestamp ISO"
          }
        }
      },
      "ChangeJournalLinkitemEntry" : {
        "type" : "object",
        "properties" : {
          "linkId" : {
            "type" : "string",
            "description" : "Link Item ID"
          },
          "changeType" : {
            "type" : "string",
            "description" : "Change Type",
            "enum" : [ "reserved", "create_object", "change_object", "delete_object", "touch_folder", "create_linkitem", "change_linkitem", "delete_linkitem", "change_journal_enable", "change_journal_disable", "change_journal_purge" ]
          },
          "objects" : {
            "type" : "array",
            "description" : "Change journal objects",
            "items" : {
              "$ref" : "#/components/schemas/ChangeJournalObjectEntry"
            }
          }
        },
        "description" : "Changed Links"
      },
      "ChangeJournalObjectEntry" : {
        "type" : "object",
        "properties" : {
          "changeType" : {
            "type" : "string",
            "description" : "Change Type",
            "enum" : [ "reserved", "create_object", "change_object", "delete_object", "touch_folder", "create_linkitem", "change_linkitem", "delete_linkitem", "change_journal_enable", "change_journal_disable", "change_journal_purge" ]
          },
          "object" : {
            "$ref" : "#/components/schemas/ObjectTypeAndSubtype"
          },
          "userComments" : {
            "type" : "string",
            "description" : "User Comments"
          },
          "systemComments" : {
            "type" : "string",
            "description" : "System Comments"
          }
        },
        "description" : "Change journal objects"
      },
      "ObjectGuidAndName" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object Name"
          }
        },
        "description" : "List of project with project ID and project name, to which the fence is applied."
      },
      "ObjectTypeAndSubtype" : {
        "required" : [ "id", "name", "subType", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          },
          "subType" : {
            "type" : "string",
            "description" : "Object Subtype",
            "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
          }
        },
        "description" : "Object"
      },
      "Transaction" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Transaction Type",
            "enum" : [ "reserved", "enable_change_journal", "disable_change_journal", "purge_change_journal", "save_object", "save_objects", "save_linkitems", "delete_object", "delete_objects", "delete_project", "copy_object", "merge_user", "collect_garbage", "write_system_property", "write_database_password" ]
          },
          "source" : {
            "type" : "string",
            "description" : "Transaction Source",
            "enum" : [ "reserved", "office", "server_admin", "server", "project_upgrade", "dss_web", "dss_scheduler", "custom_app", "narrowcast_server", "object_manager", "odbo_provider", "odbo_cube_designer", "command_manager", "enterprise_manager", "command_line_interface", "project_builder", "configuration_wizard", "md_scan", "cache_utility", "fire_event", "java_desktop", "web_services", "office_ws", "tools", "portal", "tester", "md_update", "combrowser", "mobile", "bulk_translation_tool", "health_center", "cube_advisor", "one_tier", "dossier_web", "dossier_mobile", "workstation", "library_mobile_android", "tableau", "qlik", "power_bi", "microsoft_office", "hyper_browser_chrome", "hyper_mobile_ios", "hyper_mobile_android", "hyper_office_outlook_web", "hyper_office_outlook_windows", "hyper_office_outlook_mac", "hyper_office_outlook_ios", "hyper_office_outlook_android", "hyper_voice_alexa", "hyper_messaging_slack", "hyper_desktop_mac", "hyper_desktop_windows", "hyper_sdk", "hyper_screen_apple_tv", "hyper_screen_fire_tv", "hyper_screen_android_tv", "jupyter", "rstudio", "product_01", "product_02", "product_03", "product_04", "product_05", "product_06", "python" ]
          }
        },
        "description" : "Transaction"
      },
      "CategoryCreationInfo" : {
        "type" : "object",
        "properties" : {
          "instance" : {
            "type" : "string"
          },
          "messageId" : {
            "type" : "string"
          }
        }
      },
      "ChatCreatedDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chat id."
          }
        }
      },
      "BotLinkDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bot id."
          }
        }
      },
      "PatchOperationsDtoPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PatchOperation"
            }
          },
          "patchOperations" : {
            "$ref" : "#/components/schemas/PatchOperationsPatchOperation"
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/snapshotSortBy",
            "value" : "sort key"
          }, {
            "op" : "replace",
            "path" : "/categories/{categoryId}/name",
            "value" : "new category name"
          } ]
        }
      },
      "SnapshotCreatedDTO" : {
        "type" : "object",
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category id of the snapshot"
          }
        }
      },
      "MessageDto" : {
        "required" : [ "answers", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Message id."
          },
          "type" : {
            "type" : "string",
            "description" : "Message type.",
            "enum" : [ "history", "snapshots", "historyAndSnapshots" ]
          },
          "category" : {
            "type" : "string",
            "description" : "Message category."
          },
          "question" : {
            "$ref" : "#/components/schemas/Question"
          },
          "answers" : {
            "type" : "array",
            "description" : "Message answers.",
            "items" : {
              "$ref" : "#/components/schemas/Answer"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Message creation date.",
            "format" : "date-time"
          }
        }
      },
      "MessageCreateDto" : {
        "required" : [ "answers" ],
        "type" : "object",
        "properties" : {
          "questionId" : {
            "type" : "string",
            "description" : "Message id."
          },
          "topic" : {
            "$ref" : "#/components/schemas/Topic"
          },
          "openEndedData" : {
            "$ref" : "#/components/schemas/OpenEndedData"
          },
          "question" : {
            "$ref" : "#/components/schemas/Question"
          },
          "answers" : {
            "type" : "array",
            "description" : "Message answers.",
            "items" : {
              "$ref" : "#/components/schemas/Answer"
            }
          }
        }
      },
      "BasicUserInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User ID",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "User full name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "User login name"
          },
          "description" : {
            "type" : "string",
            "description" : "User description"
          },
          "type" : {
            "type" : "integer",
            "description" : "User object type. It is usually 34. (See [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html#DssXmlTypeUser) for more possible values",
            "format" : "int32"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "User object sub-type. It is usually 8704. (See [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html) for more possible values)",
            "format" : "int32"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Access rights (See [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html) for possible values)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Icon path",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "defaultEmailAddress" : {
            "type" : "string",
            "description" : "The default email address of the user",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether user is allowed to log in"
          },
          "initials" : {
            "type" : "string",
            "description" : "User initials, calculated based on user's last name or username"
          }
        },
        "description" : "Information about the MicroStrategy user"
      },
      "AuthModesResponse" : {
        "type" : "object",
        "properties" : {
          "modes" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "List of active authentication modes",
            "example" : [ 1, 16, 1048576 ],
            "items" : {
              "type" : "integer",
              "description" : "List of active authentication modes",
              "format" : "int32"
            }
          },
          "inactiveModes" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "List of inactive authentication modes",
            "example" : [ 4194304 ],
            "items" : {
              "type" : "integer",
              "description" : "List of inactive authentication modes",
              "format" : "int32"
            }
          },
          "saml" : {
            "$ref" : "#/components/schemas/SamlProperties"
          },
          "trusted" : {
            "$ref" : "#/components/schemas/TrustedProperties"
          },
          "dm" : {
            "type" : "integer",
            "description" : "The default authentication mode",
            "format" : "int32",
            "example" : 1
          },
          "cm" : {
            "type" : "integer",
            "description" : "The authentication mode logged in",
            "format" : "int32",
            "example" : 1
          }
        }
      },
      "SamlProperties" : {
        "type" : "object",
        "properties" : {
          "isUsher" : {
            "type" : "boolean",
            "description" : "Indication of the SAML provider being Usher",
            "example" : false
          }
        },
        "description" : "SAML configuration properties"
      },
      "TrustedProperties" : {
        "type" : "object",
        "properties" : {
          "provider" : {
            "type" : "integer",
            "description" : "Trusted authentication provider. Possible values: 1 - Tivoli, 2 - SiteMinder, 3 - Custom, 4 - Oracle Access Manager, 6 - Ping",
            "format" : "int32",
            "example" : 2
          }
        },
        "description" : "Trusted authentication properties"
      },
      "AutoProperties" : {
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "string",
            "description" : "Specifies the version of the Auto Bot.",
            "enum" : [ "1.0", "2.0" ]
          },
          "nerEnabled" : {
            "type" : "boolean",
            "description" : "Specifies the ner enabled for Auto Bot."
          },
          "autoCompleteEnabled" : {
            "type" : "boolean",
            "description" : "Specifies the input field auto complete functionality enabled for Auto Bot."
          },
          "nerElementsSearchEnabled" : {
            "type" : "boolean",
            "description" : "Specifies the input field auto complete functionality to support NER elements for Auto Bot."
          },
          "deniedAnswerEnabled" : {
            "type" : "boolean",
            "description" : "Specifies the 'Denied Answer' custom instruction field enabled for Auto Bot."
          },
          "libraryUrl" : {
            "type" : "string",
            "description" : "The libraryUrl for auto v2 to invoke"
          },
          "universalBotEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether universal bot is enabled for Auto Bot"
          },
          "manageAgentCacheEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether managing agent cache is enabled for Auto Bot"
          },
          "unstructuredDataEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether unstructured data is enabled for Auto Bot"
          },
          "customInstructionLimit" : {
            "type" : "integer",
            "description" : "Specifies custom instruction characters limit for Auto Bot",
            "format" : "int32"
          },
          "exportFromServerEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to export the excel/csv from server"
          },
          "columnAliasEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether column alias is enabled for Auto Bot."
          },
          "customCalendarEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether custom calendar (including fiscal year settings) is enabled for Auto Bot."
          },
          "uslBotEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether usl bot is supported for Auto Bot."
          },
          "botV1Deprecated" : {
            "type" : "boolean",
            "description" : "Specifies whether to deprecate Auto Bot v1 support."
          },
          "autoDashVersion" : {
            "type" : "string",
            "description" : "Specifies the Auto Dashboard version."
          },
          "webSearchEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether web search is enabled for Auto Bot."
          },
          "templateEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to use template when creating Auto Bot."
          },
          "webEnableAI" : {
            "type" : "boolean",
            "description" : "Specifies whether Enable AI should be enabled in Library Web."
          },
          "sqlTemplateEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether sql template rules management is enabled for Agent"
          },
          "aiConsoleEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether AI console is enabled for Agent."
          },
          "aiAdminEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether AI admin is enabled for Agent."
          },
          "autoVoiceEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether voice mode is enabled for Agent."
          },
          "mosaicLinkingEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether mosaic linking is enabled for Agent."
          },
          "recommendationsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether recommendations is enabled for Library home page."
          },
          "modelVersionSwitchEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether LLM model version switch is enabled inside Agent."
          },
          "unstructuredDataHtmlSupported" : {
            "type" : "boolean",
            "description" : "Specifies whether unstructured data in HTML format is supported for Auto Bot."
          }
        },
        "description" : "Defines the version of the Agent."
      },
      "ClientSettings" : {
        "type" : "object",
        "properties" : {
          "requireProofKey" : {
            "type" : "boolean"
          }
        }
      },
      "ContentGroupProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable content group."
          }
        }
      },
      "CustomApplicationProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable custom application."
          }
        },
        "description" : "Defines whether to enable Custom Application"
      },
      "DashboardProperties" : {
        "type" : "object",
        "properties" : {
          "loadingIcon" : {
            "$ref" : "#/components/schemas/LoadingIcon"
          }
        },
        "description" : "Dashboard properties settings"
      },
      "GlobalSearchProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable global search."
          }
        }
      },
      "HtmlWhitelistProperties" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Specifies the valid tags, attributes, and URIs that are allowed to be displayed in dashboards."
          }
        },
        "description" : "Defines the valid tags, attributes, and URIs that are allowed when HTML/JS is enabled for dashboards."
      },
      "LoadingIcon" : {
        "type" : "object",
        "properties" : {
          "delay" : {
            "type" : "integer",
            "description" : "Delay time for showing loading icon during dashboard manipulation in milliseconds",
            "format" : "int64"
          }
        },
        "description" : "Loading icon settings"
      },
      "OAuth2Properties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether OAuth2 is enabled or not."
          }
        },
        "description" : "Contains configuration properties for enabling and managing OAuth2"
      },
      "ReportInLibraryProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable report in Library"
          }
        },
        "description" : "Defines whether to enable report in Library."
      },
      "SupportDossierTransactionsProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable dossier transactions."
          }
        },
        "description" : "Defines whether to enable dossier transactions."
      },
      "WorkstationProperties" : {
        "type" : "object",
        "properties" : {
          "maxConnectedProjects" : {
            "type" : "integer",
            "description" : "Defines the maximum number of projects that can be connected at the same time.",
            "format" : "int64"
          }
        },
        "description" : "Workstation client settings"
      },
      "D3WidgetFilesList" : {
        "type" : "object",
        "properties" : {
          "filesList" : {
            "type" : "array",
            "description" : "List of file names in the searched folder(s)",
            "items" : {
              "type" : "string",
              "description" : "List of file names in the searched folder(s)"
            }
          }
        }
      },
      "DossierServerInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The machine name or ip address of this dossier server"
          },
          "port" : {
            "type" : "integer",
            "description" : "The port of this dossier server",
            "format" : "int32"
          },
          "path" : {
            "type" : "string",
            "description" : "The application path of this dossier server"
          },
          "requestType" : {
            "type" : "integer",
            "description" : "The request type of this dossier server, 0 for HTTP, 1 for HTTPS",
            "format" : "int32"
          },
          "demo" : {
            "type" : "boolean",
            "description" : "Indicate whether this configuration is for demo only"
          }
        },
        "description" : "Object to contain the dossier server connection info"
      },
      "MobileConfigInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of this mobile config info"
          },
          "timeout" : {
            "type" : "integer",
            "description" : "The network timeout",
            "format" : "int32"
          },
          "logLevel" : {
            "type" : "integer",
            "description" : "The logging level, 12 for Warnings, 14 for Error, 0 for All, 6 for Off",
            "format" : "int32"
          },
          "maxLogSize" : {
            "type" : "integer",
            "description" : "The maximum log size",
            "format" : "int32"
          },
          "validateCaches" : {
            "type" : "integer",
            "description" : "Validate device caches",
            "format" : "int32"
          },
          "mode" : {
            "type" : "string",
            "description" : "Indicates the configuration mode ",
            "enum" : [ "DOSSIER", "PLATEFORM" ]
          },
          "servers" : {
            "type" : "array",
            "description" : "The dossier servers list",
            "items" : {
              "$ref" : "#/components/schemas/DossierServerInfo"
            }
          }
        },
        "description" : "Object to contain the mobile configuration info"
      },
      "ConfigurationInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Configuration ID"
          },
          "platformAnalyticsProjectId" : {
            "type" : "string",
            "description" : "Platform Analytics Project ID"
          },
          "platformAnalyticsEnvInfo" : {
            "type" : "string",
            "description" : "Platform Analytics Environment Info"
          }
        }
      },
      "DataServerConf" : {
        "type" : "object",
        "properties" : {
          "dataServerPublicURL" : {
            "type" : "string",
            "description" : "Data server public URL"
          }
        }
      },
      "FeatureFlag" : {
        "required" : [ "description", "disclaim", "enabled", "feedbackURL", "helpURL", "id", "internal", "name", "status" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "description" : {
            "type" : "string",
            "description" : "description"
          },
          "disclaim" : {
            "type" : "string",
            "description" : "disclaim"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "enabled"
          },
          "internal" : {
            "type" : "boolean",
            "description" : "internal"
          },
          "status" : {
            "type" : "integer",
            "description" : "status",
            "format" : "int32"
          },
          "helpURL" : {
            "type" : "string",
            "description" : "helpURL"
          },
          "feedbackURL" : {
            "type" : "string",
            "description" : "feedbackURL"
          }
        },
        "description" : "List of feature flags"
      },
      "FeatureFlags" : {
        "type" : "object",
        "properties" : {
          "featureFlags" : {
            "type" : "array",
            "description" : "List of feature flags",
            "items" : {
              "$ref" : "#/components/schemas/FeatureFlag"
            }
          }
        }
      },
      "FeatureFlagUpdateInfo" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "status--value from EnumDSSXMLFeatureFlagStatus, 0x01--on, 0x02--off",
            "format" : "int32"
          }
        }
      },
      "QuotaInfo" : {
        "type" : "object",
        "properties" : {
          "projectDefault" : {
            "type" : "integer",
            "format" : "int32"
          },
          "projectId" : {
            "type" : "string"
          },
          "userQuota" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ConfigurationPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "PatchOperationsConfigurationPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ConfigurationPatchOperation"
            }
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/userLevel/maxTrialDays",
            "value" : 60
          }, {
            "op" : "replace",
            "path" : "/userLevel/maxInvites",
            "value" : 2000
          }, {
            "op" : "replace",
            "path" : "/userLevel/maxQuestions",
            "value" : 200
          }, {
            "op" : "replace",
            "path" : "/userLevel/maxObjects",
            "value" : 200
          }, {
            "op" : "replace",
            "path" : "/userLevel/maxAiRequests",
            "value" : 200
          } ]
        }
      },
      "ContactGroup" : {
        "required" : [ "linkedUser", "members", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact Group name",
            "example" : "New contact group"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact Group ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Contact Group Description"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the contact group is enabled",
            "default" : true
          },
          "linkedUser" : {
            "$ref" : "#/components/schemas/LinkedUser"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "members" : {
            "type" : "array",
            "description" : "List of contact members",
            "items" : {
              "$ref" : "#/components/schemas/Member"
            }
          }
        }
      },
      "LinkedUser" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Linked User name",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "description" : "Linked User ID"
          }
        },
        "description" : "Linked user to the contact"
      },
      "Member" : {
        "required" : [ "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Member name",
            "readOnly" : true,
            "example" : "New member"
          },
          "id" : {
            "type" : "string",
            "description" : "Member ID"
          },
          "description" : {
            "type" : "string",
            "description" : "Member Description",
            "readOnly" : true
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the member is enabled",
            "readOnly" : true,
            "default" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Type of member",
            "enum" : [ "contact", "contact_group" ]
          }
        },
        "description" : "List of contact members"
      },
      "Tenant" : {
        "type" : "object",
        "properties" : {
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant Name"
          },
          "tenantSuffix" : {
            "type" : "string",
            "description" : "Tenant Suffix"
          },
          "tenantDescription" : {
            "type" : "string",
            "description" : "Tenant Description"
          }
        },
        "description" : "Tenant information"
      },
      "ContactGroupWithMemberships" : {
        "required" : [ "linkedUser", "members", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact Group name",
            "example" : "New contact group"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact Group ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Contact Group Description"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the contact group is enabled",
            "default" : true
          },
          "linkedUser" : {
            "$ref" : "#/components/schemas/LinkedUser"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "members" : {
            "type" : "array",
            "description" : "List of contact members",
            "items" : {
              "$ref" : "#/components/schemas/Member"
            }
          },
          "memberships" : {
            "type" : "array",
            "description" : "Collection of contact groups this contact group is a member of",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/Membership"
            }
          }
        },
        "description" : "List of contact groups"
      },
      "ContactGroups" : {
        "type" : "object",
        "properties" : {
          "contactGroups" : {
            "type" : "array",
            "description" : "List of contact groups",
            "items" : {
              "$ref" : "#/components/schemas/ContactGroupWithMemberships"
            }
          }
        }
      },
      "Membership" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact Group name",
            "example" : "New contact group"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact Group ID",
            "readOnly" : true
          }
        },
        "description" : "Collection of contact groups this contact is a member of"
      },
      "ContactGroupQueryRequest" : {
        "type" : "object",
        "properties" : {
          "contactMemberIDs" : {
            "type" : "array",
            "description" : "Contact member ID collections that belongs to the contact group.",
            "items" : {
              "type" : "string",
              "description" : "Contact member ID collections that belongs to the contact group."
            }
          },
          "securityUsers" : {
            "type" : "array",
            "description" : "security user ID collections that the contact linked to.",
            "items" : {
              "type" : "string",
              "description" : "security user ID collections that the contact linked to."
            }
          },
          "tenantIDs" : {
            "type" : "array",
            "description" : "tenant ID collections that the contact group belongs to.",
            "items" : {
              "type" : "string",
              "description" : "tenant ID collections that the contact group belongs to."
            }
          }
        }
      },
      "Contact" : {
        "required" : [ "contactAddresses", "linkedUser", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact name",
            "example" : "New contact"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Contact Description"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the contact is enabled",
            "default" : true
          },
          "linkedUser" : {
            "$ref" : "#/components/schemas/LinkedUser"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "contactAddresses" : {
            "type" : "array",
            "description" : "List of the addresses of contact",
            "items" : {
              "$ref" : "#/components/schemas/ContactAddress"
            }
          }
        }
      },
      "ContactAddress" : {
        "required" : [ "deliveryType", "deviceId", "deviceName", "name", "physicalAddress" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact Address name",
            "example" : "New contact address"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact Address ID"
          },
          "physicalAddress" : {
            "type" : "string",
            "description" : "Physical Address"
          },
          "deliveryType" : {
            "type" : "string",
            "description" : "Delivery Type",
            "enum" : [ "email", "file", "printer", "ftp", "mobile_android", "mobile_iphone", "mobile_ipad", "onedrive", "sharepoint", "s3", "googledrive", "unsupported" ]
          },
          "deviceId" : {
            "type" : "string",
            "description" : "Device ID"
          },
          "deviceName" : {
            "type" : "string",
            "description" : "Device name",
            "example" : "New Device"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Whether the contact Address is default",
            "default" : false
          },
          "encryptionKey" : {
            "type" : "string",
            "description" : "The key  to be used for encryption, only applicable for EMAIL delivery type",
            "writeOnly" : true
          },
          "hasEncryptionKey" : {
            "type" : "boolean",
            "description" : "Indicates whether the encryption key has been set",
            "readOnly" : true
          }
        },
        "description" : "List of the addresses of contact"
      },
      "ContactWithMemberships" : {
        "required" : [ "contactAddresses", "linkedUser", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Contact name",
            "example" : "New contact"
          },
          "id" : {
            "type" : "string",
            "description" : "Contact ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Contact Description"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the contact is enabled",
            "default" : true
          },
          "linkedUser" : {
            "$ref" : "#/components/schemas/LinkedUser"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "contactAddresses" : {
            "type" : "array",
            "description" : "List of the addresses of contact",
            "items" : {
              "$ref" : "#/components/schemas/ContactAddress"
            }
          },
          "memberships" : {
            "type" : "array",
            "description" : "Collection of contact groups this contact is a member of",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/Membership"
            }
          }
        },
        "description" : "List of contacts"
      },
      "Contacts" : {
        "type" : "object",
        "properties" : {
          "contacts" : {
            "type" : "array",
            "description" : "List of contacts",
            "items" : {
              "$ref" : "#/components/schemas/ContactWithMemberships"
            }
          }
        }
      },
      "ContactQueryRequest" : {
        "type" : "object",
        "properties" : {
          "contactGroupIDs" : {
            "type" : "array",
            "description" : "Contact group ID collections that the contact belongs to.",
            "items" : {
              "type" : "string",
              "description" : "Contact group ID collections that the contact belongs to."
            }
          },
          "securityUsers" : {
            "type" : "array",
            "description" : "security user ID collections that the contact linked to.",
            "items" : {
              "type" : "string",
              "description" : "security user ID collections that the contact linked to."
            }
          },
          "tenantIDs" : {
            "type" : "array",
            "description" : "tenant ID collections that the contact belongs to.",
            "items" : {
              "type" : "string",
              "description" : "tenant ID collections that the contact belongs to."
            }
          }
        }
      },
      "ContentBundleDetail" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Content group ID"
          },
          "description" : {
            "type" : "string",
            "description" : "Content group description"
          },
          "version" : {
            "type" : "string",
            "description" : "Content group version"
          },
          "name" : {
            "type" : "string",
            "description" : "Content group name"
          },
          "color" : {
            "type" : "integer",
            "description" : "Content group color",
            "format" : "int32"
          },
          "opacity" : {
            "type" : "integer",
            "description" : "Content group opacity",
            "format" : "int32"
          },
          "emailEnabled" : {
            "type" : "boolean",
            "description" : "Content group emailEnabled"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Content group creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Content group last updated time in UTC",
            "format" : "date-time"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "type" : {
            "type" : "integer",
            "description" : "Content group object type. (See [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html) for more possible values",
            "format" : "int32"
          },
          "recipients" : {
            "type" : "array",
            "description" : "Content group recipients",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundleRecipient"
            }
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant Name"
          },
          "tenantSuffix" : {
            "type" : "string",
            "description" : "Tenant Suffix"
          },
          "tenantDescription" : {
            "type" : "string",
            "description" : "Tenant Description"
          }
        },
        "description" : "Content group information"
      },
      "ContentBundleRecipient" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Content group recipient ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Content group recipient name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Content group recipient abbreviation"
          },
          "initials" : {
            "type" : "string",
            "description" : "Content group recipient initials"
          },
          "group" : {
            "type" : "boolean",
            "description" : "Content group recipient is a user group or not"
          }
        },
        "description" : "Content group recipient"
      },
      "ContentBundleCreationRequest" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Content group name"
          },
          "color" : {
            "type" : "integer",
            "description" : "Content group color. Decimal value of an RGB color code, e.g., FF0000 is 16711680.",
            "format" : "int32"
          },
          "opacity" : {
            "type" : "integer",
            "description" : "Content group opacity",
            "format" : "int32",
            "default" : 100
          },
          "emailEnabled" : {
            "type" : "boolean",
            "description" : "Content group emailEnabled"
          },
          "recipients" : {
            "type" : "array",
            "description" : "Content group recipients",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundleRecipient"
            }
          }
        },
        "description" : "Content group creation info"
      },
      "ContentBundlesResponse" : {
        "type" : "object",
        "properties" : {
          "contentBundles" : {
            "type" : "array",
            "description" : "Content bundle detail list",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundleDetail"
            }
          }
        },
        "description" : "Response for getting content group list"
      },
      "ContentBundlePatchOperation" : {
        "required" : [ "id", "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "add",
            "enum" : [ "add", "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/name"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "content group name"
          },
          "id" : {
            "type" : "integer",
            "description" : "Patch operation id",
            "format" : "int32",
            "example" : 1
          }
        },
        "description" : "Content group patch operation"
      },
      "PatchOperationsContentBundlePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundlePatchOperation"
            }
          }
        }
      },
      "ContentBundleContentsPatchOperation" : {
        "required" : [ "id", "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "add",
            "enum" : [ "add", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/{projectId}"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : [ {
              "id" : "{objectId}",
              "type" : 55
            } ]
          },
          "id" : {
            "type" : "integer",
            "description" : "Patch operation id",
            "format" : "int32",
            "example" : 1
          }
        },
        "description" : "Content group information"
      },
      "PatchOperationsContentBundleContentsPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundleContentsPatchOperation"
            }
          }
        }
      },
      "ContentCacheInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Cache object ID"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID of the cache object"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Project name of the cache object"
          },
          "source" : {
            "$ref" : "#/components/schemas/ContentCacheSource"
          },
          "status" : {
            "$ref" : "#/components/schemas/ContentCacheStatus"
          },
          "format" : {
            "type" : "string",
            "description" : "Cache format, intended for document and dossier cache",
            "enum" : [ "excel", "pdf", "csv", "html", "xml", "plain_text", "binary_definition", "binary_data", "html5", "flash", "transaction", "" ]
          },
          "chapter" : {
            "type" : "string",
            "description" : "Cached chapter"
          },
          "reportCachesUsed" : {
            "type" : "string",
            "description" : "Report cache objects used by the document/dossier cache object"
          },
          "host" : {
            "type" : "string",
            "description" : "Host of the cache object"
          },
          "warehouseTablesUsed" : {
            "type" : "string",
            "description" : "Cube instance ID used by the cache object, this information is available only for document/dossier caches"
          },
          "cubeInstanceId" : {
            "type" : "string",
            "description" : "Cube instance ID used by the cache object, this information is available only for document/dossier caches"
          },
          "dbTablesUsed" : {
            "type" : "array",
            "description" : "Database tables used by the cache object, this information is available only for report caches",
            "items" : {
              "type" : "string",
              "description" : "Database tables used by the cache object, this information is available only for report caches"
            }
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Last time of the cache update"
          },
          "lastHitTime" : {
            "type" : "string",
            "description" : "Last time the cache was accessed"
          },
          "lastLoadTime" : {
            "type" : "string",
            "description" : "Last time the cache was loaded"
          },
          "securityFilterId" : {
            "type" : "string",
            "description" : "Security Filter ID of the cache object"
          },
          "hitCount" : {
            "type" : "integer",
            "description" : "Number of hits for the cache object",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "description" : "Size of the cache",
            "format" : "int32"
          },
          "creator" : {
            "type" : "string",
            "description" : "Owner of the cache object"
          },
          "promptAnswer" : {
            "type" : "string",
            "description" : "Prompt answers given for the cache object"
          },
          "resultCacheType" : {
            "type" : "string",
            "description" : "Type of the result caches"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time of the cache object"
          },
          "createTime" : {
            "type" : "string",
            "description" : "Creation time of the cache object"
          },
          "expirationTime" : {
            "type" : "string",
            "description" : "Expiration time of the cache object"
          },
          "databaseConnectionId" : {
            "type" : "string",
            "description" : "ID of the Database Connection"
          },
          "databaseConnection" : {
            "type" : "string",
            "description" : "Database Connection"
          },
          "databaseLoginId" : {
            "type" : "string",
            "description" : "ID of the Database Login"
          },
          "databaseLogin" : {
            "type" : "string",
            "description" : "Database Login"
          },
          "cacheLocation" : {
            "type" : "string",
            "description" : "Location of the cache object"
          },
          "location" : {
            "type" : "string",
            "description" : "Location of the actual object that is being cached"
          },
          "dataLanguage" : {
            "type" : "string",
            "description" : "Data language in use"
          },
          "metadataLanguage" : {
            "type" : "string",
            "description" : "Metadata language in use"
          },
          "groupBy" : {
            "type" : "string",
            "description" : "Group By of a report"
          },
          "xmlContent" : {
            "type" : "array",
            "description" : "XML content of the generated cache",
            "items" : {
              "type" : "string",
              "description" : "XML content of the generated cache"
            }
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          }
        },
        "description" : "Content cache object"
      },
      "ContentCacheSource" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the object being cached"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object being cached"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the object being cached",
            "enum" : [ "report", "document", "dossier", "docdossier", "docreport" ]
          }
        },
        "description" : "Basic properties of the actual object that is being cached"
      },
      "ContentCacheStatus" : {
        "type" : "object",
        "properties" : {
          "ready" : {
            "type" : "boolean",
            "description" : "Whether the cache object is ready"
          },
          "processing" : {
            "type" : "boolean",
            "description" : "Whether the cache object is processing"
          },
          "invalid" : {
            "type" : "boolean",
            "description" : "Whether the cache object is invalid"
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Whether the cache object is expired"
          },
          "loaded" : {
            "type" : "boolean",
            "description" : "Whether the cache object is loaded"
          },
          "filed" : {
            "type" : "boolean",
            "description" : "Whether the cache object is filed"
          },
          "dirty" : {
            "type" : "boolean",
            "description" : "Whether the cache object is dirty"
          },
          "status" : {
            "type" : "string",
            "writeOnly" : true,
            "enum" : [ "ready", "processing", "invalid", "expired", "loaded", "filed", "dirty" ]
          }
        },
        "description" : "Statuses of the cache object"
      },
      "ContentCachesInfo" : {
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer",
            "description" : "Offset by which to retrieve cache objects set by the user",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Limit of cache objects set by the user",
            "format" : "int32"
          },
          "total" : {
            "type" : "integer",
            "description" : "Count of all retrieved cache objects",
            "format" : "int32"
          },
          "reportCacheSize" : {
            "type" : "integer",
            "description" : "Size of report cache in KB",
            "format" : "int32"
          },
          "documentCacheSize" : {
            "type" : "integer",
            "description" : "Size of document cache in KB",
            "format" : "int32"
          },
          "dossierCacheSize" : {
            "type" : "integer",
            "description" : "Size of dossier cache in KB",
            "format" : "int32"
          },
          "docreportCacheSize" : {
            "type" : "integer",
            "description" : "Size of docreport cache in KB",
            "format" : "int32"
          },
          "contentCaches" : {
            "type" : "array",
            "description" : "List of cache maps. Each map contains key-pair values, where key is a base64 encoded string and the value is a cache object",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/ContentCacheInfo"
              },
              "description" : "List of cache maps. Each map contains key-pair values, where key is a base64 encoded string and the value is a cache object"
            }
          }
        }
      },
      "ContentCachePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace or Remove operation to be performed",
            "enum" : [ "replace", "remove" ]
          },
          "path" : {
            "pattern" : "\\/([/A-Za-z0-9+=/])+",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/contentCaches/N0IzOTMwOUM0QjRDNDU4MjNEQkU0M0E3OUVBQ0YyNTQ6ZG9jdW1lbnQ6QjdDQTkyRjA0QjlGQUU4RDk0MUMzRTlCN0UwQ0Q3NTQ==/status/loaded",
            "enum" : [ "/contentCaches/{combinedId}/status/loaded", "/contentCaches/{combinedId}/status/invalid", "/contentCaches/{combinedId}" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        },
        "description" : "Supported operations are :\n\n    1. In order to LOAD content caches, REPLACE loaded status to true required: op--replace, path--/contentCaches/{combinedId}/status/loaded, value--true\n    2. In order to UNLOAD content caches, REPLACE loaded status to false required: op--replace, path--/contentCaches/{combinedId}/status/loaded, value--false\n    3. In order to INVALIDATE content caches, REPLACE invalid status to true required: op--replace, path--/contentCaches/{combinedId}/status/invalid, value--true\n    4. In order to DELETE content caches, REMOVE operation required: op--remove, path--/contentCaches/{combinedId}\n"
      },
      "PatchOperationsContentCachePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ContentCachePatchOperation"
            }
          }
        }
      },
      "AggregatedCacheUsageInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID for aggregating cube cache usage"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name for aggregating cube cache usage"
          },
          "currentUsage" : {
            "type" : "integer",
            "description" : "Aggregated cube caches usage, unit is byte",
            "format" : "int64"
          },
          "capacity" : {
            "type" : "integer",
            "description" : "Capacity on project level",
            "format" : "int64"
          }
        },
        "description" : "Aggregated cube cache usages collection which is break down by project or user"
      },
      "AggregatedCacheUsageInfos" : {
        "type" : "object",
        "properties" : {
          "aggregatedCacheUsages" : {
            "type" : "array",
            "description" : "Aggregated cube cache usages collection which is break down by project or user",
            "items" : {
              "$ref" : "#/components/schemas/AggregatedCacheUsageInfo"
            }
          }
        }
      },
      "AncestorInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Folder name"
          },
          "id" : {
            "type" : "string",
            "description" : "Folder ID"
          },
          "level" : {
            "type" : "integer",
            "description" : "Ancestor level (1 for immediate parent)",
            "format" : "int32"
          }
        },
        "description" : "List of ancestor folders",
        "readOnly" : true
      },
      "ContentBundleContent" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Content object ID"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Content project ID"
          },
          "type" : {
            "type" : "integer",
            "description" : "Content object type. (See [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html) for more possible values)",
            "format" : "int32"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Content last updated time in UTC",
            "format" : "date-time"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Content created time in UTC",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string",
            "description" : "Content name"
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Content object access rights",
            "format" : "int32"
          },
          "isCertified" : {
            "type" : "boolean",
            "description" : "Specifies whether the content object is trusted, as determined by the standards set by the certifier"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Content object status only for Bot",
            "enum" : [ "disabled", "enabled" ]
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Content object subtype. (See [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html) for more possible values)",
            "format" : "int32"
          },
          "description" : {
            "type" : "string",
            "description" : "Content description"
          },
          "version" : {
            "type" : "string",
            "description" : "Content version"
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          }
        },
        "description" : "Content group content"
      },
      "ContentBundleContentResponse" : {
        "type" : "object",
        "additionalProperties" : {
          "type" : "array",
          "properties" : {
            "empty" : {
              "type" : "boolean"
            },
            "first" : {
              "$ref" : "#/components/schemas/ContentBundleContent"
            },
            "last" : {
              "$ref" : "#/components/schemas/ContentBundleContent"
            }
          },
          "items" : {
            "$ref" : "#/components/schemas/ContentBundleContent"
          }
        }
      },
      "ContentBundleContents" : {
        "type" : "array",
        "properties" : {
          "empty" : {
            "type" : "boolean"
          },
          "first" : {
            "$ref" : "#/components/schemas/ContentBundleContent"
          },
          "last" : {
            "$ref" : "#/components/schemas/ContentBundleContent"
          }
        },
        "items" : {
          "$ref" : "#/components/schemas/ContentBundleContent"
        }
      },
      "ContentGroupsResponse" : {
        "type" : "object",
        "properties" : {
          "contentGroups" : {
            "type" : "array",
            "description" : "Content group detail list",
            "items" : {
              "$ref" : "#/components/schemas/ContentBundleDetail"
            }
          }
        },
        "description" : "Response for getting content group list"
      },
      "ManipulationStatusInfo" : {
        "type" : "object",
        "properties" : {
          "manipulationId" : {
            "type" : "string",
            "description" : "Manipulation Id"
          },
          "status" : {
            "type" : "string",
            "description" : "Manipulation status",
            "enum" : [ "executing", "ready", "requestHandlingFailed", "error" ]
          },
          "statusDetail" : {
            "type" : "string",
            "description" : "Manipulation failure detail error message"
          }
        },
        "description" : "Manipulation status collection"
      },
      "CubeCacheStateConfig" : {
        "type" : "object",
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "make cube cache active (true) or inactive (false)"
          },
          "loadedState" : {
            "type" : "string",
            "description" : "load or unload the cube cache",
            "enum" : [ "loaded", "unloaded" ]
          }
        },
        "description" : "Cache status which can be updated, currently just support updated state: loaded, unloaded, active and deactivate"
      },
      "PartialUpdateCubeCacheInfo" : {
        "type" : "object",
        "properties" : {
          "state" : {
            "$ref" : "#/components/schemas/CubeCacheStateConfig"
          }
        }
      },
      "CubeCacheCompoundStatusDTO" : {
        "type" : "object",
        "properties" : {
          "statuses" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Exact Intelligence Server statuses of the cube cache"
            },
            "description" : "Exact Intelligence Server statuses of the cube cache"
          },
          "friendlyName" : {
            "type" : "string",
            "description" : "Friendly name of the cube cache compound status"
          },
          "parameterValue" : {
            "type" : "string",
            "description" : "Parameter value of the cube cache compound status"
          }
        },
        "description" : "Compound status of the cube cache"
      },
      "CubeCacheDetail" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Intelligent Cache ID"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project Id"
          },
          "source" : {
            "$ref" : "#/components/schemas/SourceInfo"
          },
          "state" : {
            "$ref" : "#/components/schemas/CubeCacheState"
          },
          "compoundStatus" : {
            "$ref" : "#/components/schemas/CubeCacheCompoundStatusDTO"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Last Update Time, date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', timezone: 'UTC'",
            "format" : "date-time"
          },
          "lastHitTime" : {
            "type" : "string",
            "description" : "Last hit Time, date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', timezone: 'UTC'",
            "format" : "date-time"
          },
          "hitCount" : {
            "type" : "integer",
            "description" : "Hit count",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "description" : "Cache size (byte)",
            "format" : "int64"
          },
          "creatorName" : {
            "type" : "string",
            "description" : "Cache creator name"
          },
          "creatorId" : {
            "type" : "string",
            "description" : "Cache creator id"
          },
          "lastUpdateJob" : {
            "type" : "integer",
            "description" : "Last update job",
            "format" : "int32"
          },
          "openViewCount" : {
            "type" : "integer",
            "description" : "Open View Count",
            "format" : "int32"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation Time, date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', timezone: 'UTC'",
            "format" : "date-time"
          },
          "historicHitCount" : {
            "type" : "integer",
            "description" : "Historic Hit Count",
            "format" : "int32"
          },
          "databaseConnections" : {
            "type" : "array",
            "description" : "Database Connection",
            "items" : {
              "$ref" : "#/components/schemas/ObjectIdAndName"
            }
          },
          "fileName" : {
            "type" : "string",
            "description" : "File Name"
          },
          "dataLanguages" : {
            "type" : "array",
            "description" : "Data Language collection",
            "items" : {
              "$ref" : "#/components/schemas/LocaleInfo"
            }
          },
          "rowCount" : {
            "type" : "integer",
            "description" : "Total number of rows",
            "format" : "int32"
          },
          "columnCount" : {
            "type" : "integer",
            "description" : "Total number of column",
            "format" : "int32"
          },
          "cubeType" : {
            "type" : "string",
            "description" : "Type of cube",
            "enum" : [ "unknown", "in_memory", "dda", "off_memory" ]
          },
          "jobExecutionStatistics" : {
            "$ref" : "#/components/schemas/JobExecutionStatisticsInfo"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          }
        }
      },
      "CubeCacheState" : {
        "type" : "object",
        "properties" : {
          "active" : {
            "type" : "boolean",
            "description" : "Whether the cube cache is active"
          },
          "dirty" : {
            "type" : "boolean",
            "description" : "Whether the cube cache is dirty"
          },
          "infoDirty" : {
            "type" : "boolean",
            "description" : "Whether the cube cache info is dirty"
          },
          "persisted" : {
            "type" : "boolean",
            "description" : "Whether the cube cache is persisted"
          },
          "processing" : {
            "type" : "boolean",
            "description" : "Whether the cube cache is processing"
          },
          "loaded" : {
            "type" : "boolean",
            "description" : "Whether the cube cache is loaded"
          },
          "loadedState" : {
            "type" : "string",
            "description" : "Whether the cube cache is loaded",
            "enum" : [ "loaded", "unloaded", "loadPending", "unloadPending" ]
          }
        },
        "description" : "Cache status"
      },
      "CubeCachesInfos" : {
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer",
            "description" : "Offset",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Limit",
            "format" : "int32"
          },
          "total" : {
            "type" : "integer",
            "description" : "Total count",
            "format" : "int32"
          },
          "loaded" : {
            "type" : "integer",
            "description" : "Total Loaded cube cache count",
            "format" : "int32"
          },
          "unloaded" : {
            "type" : "integer",
            "description" : "Total Unloaded cube cache count",
            "format" : "int32"
          },
          "active" : {
            "type" : "integer",
            "description" : "Total Active cube cache count",
            "format" : "int32"
          },
          "persisted" : {
            "type" : "integer",
            "description" : "Total Persisted cube cache count",
            "format" : "int32"
          },
          "dirty" : {
            "type" : "integer",
            "description" : "Total Dirty cube cache count",
            "format" : "int32"
          },
          "infoDirty" : {
            "type" : "integer",
            "description" : "Total Info Dirty cube cache count",
            "format" : "int32"
          },
          "processing" : {
            "type" : "integer",
            "description" : "Total Processing cube cache count",
            "format" : "int32"
          },
          "loadedCompoundStatus" : {
            "type" : "integer",
            "description" : "Total count of cube caches with compound LOADED status",
            "format" : "int32"
          },
          "notLoadedCompoundStatus" : {
            "type" : "integer",
            "description" : "Total count of cube caches with compound NOT_LOADED status",
            "format" : "int32"
          },
          "syncingCompoundStatus" : {
            "type" : "integer",
            "description" : "Total count of cube caches with compound SYNCING status",
            "format" : "int32"
          },
          "notAvailableCompoundStatus" : {
            "type" : "integer",
            "description" : "Total count of cube caches with compound NOT_AVAILABLE status",
            "format" : "int32"
          },
          "processingCompoundStatus" : {
            "type" : "integer",
            "description" : "Total count of cube caches with compound PROCESSING status",
            "format" : "int32"
          },
          "cubeCaches" : {
            "type" : "array",
            "description" : "Collection of cube caches",
            "items" : {
              "$ref" : "#/components/schemas/CubeCacheDetail"
            }
          }
        }
      },
      "JobExecutionStatisticsInfo" : {
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "description" : "Query Engine Execution Start Time, date format 'yyyy-MM-dd HH:mm:ss', timezone: 'UTC'",
            "format" : "date-time"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Query Engine Execution Finish Time, date format 'yyyy-MM-dd HH:mm:ss', timezone: 'UTC'",
            "format" : "date-time"
          },
          "sqlDuration" : {
            "type" : "integer",
            "description" : "Query Execution Time",
            "format" : "int32"
          },
          "analyticalEngineDuration" : {
            "type" : "integer",
            "description" : "Total Analytical Processing Time",
            "format" : "int32"
          },
          "otherDuration" : {
            "type" : "integer",
            "description" : "Total Other Processing Time",
            "format" : "int32"
          },
          "tempTablesCount" : {
            "type" : "integer",
            "description" : "Number of Temp Tables",
            "format" : "int32"
          },
          "totalPassedCount" : {
            "type" : "integer",
            "description" : "Total Number of Passes",
            "format" : "int32"
          },
          "sqlPassesCount" : {
            "type" : "integer",
            "description" : "Number of DataSource Query Passes",
            "format" : "int32"
          },
          "analyticalEnginePassesCount" : {
            "type" : "integer",
            "description" : "Number of Analytical Query Passes",
            "format" : "int32"
          },
          "errorMessage" : {
            "type" : "string",
            "description" : "Error message"
          },
          "totalElapsedDuration" : {
            "type" : "integer",
            "description" : "Total Elapsed Time in Query Engine",
            "format" : "int32"
          },
          "sqlExecutionDuration" : {
            "type" : "integer",
            "description" : "Sum of query execution time",
            "format" : "int32"
          },
          "dbUserNames" : {
            "type" : "array",
            "description" : "DB user names concatenation of all DB instances",
            "items" : {
              "type" : "string",
              "description" : "DB user names concatenation of all DB instances"
            }
          },
          "dbInstanceNames" : {
            "type" : "array",
            "description" : "The name concatenation of all DB instances",
            "items" : {
              "type" : "string",
              "description" : "The name concatenation of all DB instances"
            }
          },
          "accessedTables" : {
            "type" : "array",
            "description" : "Tables Accessed",
            "items" : {
              "$ref" : "#/components/schemas/ObjectName"
            }
          },
          "queryPasseInfos" : {
            "type" : "array",
            "description" : "SQL Statements",
            "items" : {
              "$ref" : "#/components/schemas/QueryPassInfo"
            }
          }
        },
        "description" : "Job Execution Statistics"
      },
      "LocaleInfo" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Locale code"
          },
          "displayName" : {
            "type" : "string",
            "description" : "Locale display name"
          }
        },
        "description" : "Data Language collection"
      },
      "ObjectIdAndName" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          }
        },
        "description" : "The forms of the attribute object"
      },
      "ObjectName" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          }
        },
        "description" : "Tables Accessed"
      },
      "QueryPassInfo" : {
        "type" : "object",
        "properties" : {
          "rowTotalNumber" : {
            "type" : "integer",
            "description" : "Number of Rows Returned",
            "format" : "int32"
          },
          "columnTotalNumber" : {
            "type" : "integer",
            "description" : "Number of Columns Returned",
            "format" : "int32"
          },
          "startTime" : {
            "type" : "string",
            "description" : "Query Pass Start Time",
            "format" : "date-time"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Query Pass End Time",
            "format" : "date-time"
          },
          "duration" : {
            "type" : "integer",
            "description" : "Query Execution",
            "format" : "int32"
          },
          "sqlStatement" : {
            "type" : "string",
            "description" : "SQL Statement"
          },
          "dataFetchingAndProcessingDuration" : {
            "type" : "integer",
            "description" : "Data Fetching and Processing Time",
            "format" : "int32"
          },
          "dataTransferFromDatasourceDuration" : {
            "type" : "integer",
            "description" : "Data Transfer from Datasource Time",
            "format" : "int32"
          },
          "otherProcessingDuration" : {
            "type" : "integer",
            "description" : "Other Processing Time",
            "format" : "int32"
          }
        },
        "description" : "SQL Statements"
      },
      "SourceInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Source type"
          }
        },
        "description" : "Cache source info"
      },
      "ManipulationStatusInfos" : {
        "type" : "object",
        "properties" : {
          "statuses" : {
            "type" : "array",
            "description" : "Manipulation status collection",
            "items" : {
              "$ref" : "#/components/schemas/ManipulationStatusInfo"
            }
          }
        }
      },
      "ObjectNameAndId" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          }
        },
        "description" : "Source cube information for view report"
      },
      "Report" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Object Name",
            "readOnly" : true
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the document instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the new report instance"
          },
          "jobId" : {
            "type" : "integer",
            "description" : "Job ID associated with the instance",
            "format" : "int32"
          },
          "source" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "cacheId" : {
            "type" : "string",
            "description" : "Cache ID"
          },
          "result" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "warning" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "AttributeObject" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the object"
          },
          "forms" : {
            "type" : "array",
            "description" : "The forms of the attribute",
            "items" : {
              "$ref" : "#/components/schemas/ObjectIdAndName"
            }
          }
        },
        "description" : "Array of attributes"
      },
      "BaseSort" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Object type to sort by",
            "enum" : [ "attribute", "metric", "form", "subtotalsPosition", "unknown" ]
          }
        },
        "description" : "The sort unit definition applied to rows"
      },
      "Expression" : {
        "required" : [ "operands", "operator" ],
        "type" : "object",
        "properties" : {
          "operator" : {
            "type" : "string",
            "description" : "The operator of the expression"
          },
          "operands" : {
            "type" : "array",
            "description" : "The operands of the expression",
            "items" : {
              "type" : "object",
              "description" : "The operands of the expression"
            }
          }
        },
        "description" : "Metric limits",
        "discriminator" : {
          "propertyName" : "operator"
        }
      },
      "Formatting" : {
        "type" : "object",
        "properties" : {
          "number" : {
            "$ref" : "#/components/schemas/NumberFormatting"
          }
        },
        "description" : "The formatting of the metric"
      },
      "MetricObject" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the object"
          },
          "formatting" : {
            "$ref" : "#/components/schemas/Formatting"
          }
        },
        "description" : "Array of metrics"
      },
      "NumberFormatting" : {
        "type" : "object",
        "properties" : {
          "category" : {
            "type" : "integer",
            "description" : "Category for number formatting, possible values are provided in [EnumGridFormatNumberCategory](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridFormatNumberCategory.html)",
            "format" : "int32"
          },
          "decimalPlaces" : {
            "maximum" : 9,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Position for decimal, range from 0 to 9",
            "format" : "int32"
          },
          "thousandSeparator" : {
            "type" : "boolean",
            "description" : "Specify use thousand separator or not"
          },
          "currencySymbol" : {
            "type" : "string",
            "description" : "Symbol for currency, the length of the symbol is limited to 5"
          },
          "currencyPosition" : {
            "type" : "string",
            "description" : "Category for number formatting, possible values are provided in [EnumGridNumberCurrencyPosition](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridNumberCurrencyPosition.html)"
          },
          "formatString" : {
            "type" : "string",
            "description" : "Pattern used for formatting the number"
          },
          "negativeType" : {
            "type" : "integer",
            "description" : "Category for number formatting, possible values are provided in [EnumGridNegativeNumbersFormat](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridNegativeNumbersFormat.html)",
            "format" : "int32"
          }
        },
        "description" : "The number formatting of the object"
      },
      "ObjectId" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          }
        },
        "description" : "The current Page by"
      },
      "RequestConfigRequestedObjectsV1SortingConfigV1" : {
        "type" : "object",
        "properties" : {
          "requestedObjects" : {
            "$ref" : "#/components/schemas/RequestedObjectsV1"
          },
          "viewFilter" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "metricLimits" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "description" : "Metric limits"
          },
          "sorting" : {
            "$ref" : "#/components/schemas/SortingConfigV1"
          },
          "subtotals" : {
            "$ref" : "#/components/schemas/SubtotalsConfig"
          },
          "currentPageBy" : {
            "type" : "array",
            "description" : "The current Page by",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "empty" : {
            "type" : "boolean",
            "description" : "Check if nothing for manipulation--report only. For cube, an ad-hoc template is always constructed."
          }
        }
      },
      "RequestedObjectsV1" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "array",
            "description" : "Array of attributes",
            "items" : {
              "$ref" : "#/components/schemas/AttributeObject"
            }
          },
          "metrics" : {
            "type" : "array",
            "description" : "Array of metrics",
            "items" : {
              "$ref" : "#/components/schemas/MetricObject"
            }
          }
        },
        "description" : "Collection of objects to be added to the instance"
      },
      "SortingConfigV1" : {
        "type" : "object",
        "properties" : {
          "rows" : {
            "type" : "array",
            "description" : "The sort unit definition applied to rows",
            "items" : {
              "$ref" : "#/components/schemas/BaseSort"
            }
          }
        },
        "description" : "Collection of objects to sort by"
      },
      "SubtotalsConfig" : {
        "type" : "object",
        "properties" : {
          "visible" : {
            "type" : "boolean",
            "description" : "a flag to control showing subtotal or not"
          }
        },
        "description" : "SubTotals setting"
      },
      "CubeObject" : {
        "required" : [ "cubeId", "cubeType" ],
        "type" : "object",
        "properties" : {
          "cubeId" : {
            "type" : "string",
            "description" : "cube id"
          },
          "cubeType" : {
            "type" : "string",
            "description" : "cube type",
            "enum" : [ "MTDI", "OLAP", "SUBSET_REPORT" ]
          }
        },
        "description" : "A list of cube instance Ids"
      },
      "DumpCubesInstances" : {
        "required" : [ "cubeObjects" ],
        "type" : "object",
        "properties" : {
          "cubeObjects" : {
            "type" : "array",
            "description" : "A list of cube instance Ids",
            "items" : {
              "$ref" : "#/components/schemas/CubeObject"
            }
          }
        }
      },
      "CubeCache" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastUpdateTime" : {
            "type" : "string"
          }
        },
        "description" : "Cube Cache"
      },
      "CubeInfoWithCache" : {
        "required" : [ "id", "projectId" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Cube ID"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "cache" : {
            "$ref" : "#/components/schemas/CubeCache"
          }
        },
        "description" : "The cube list"
      },
      "Cubes" : {
        "required" : [ "cubes" ],
        "type" : "object",
        "properties" : {
          "cubes" : {
            "type" : "array",
            "description" : "The cube list",
            "items" : {
              "$ref" : "#/components/schemas/CubeInfoWithCache"
            }
          }
        }
      },
      "CubesTablesDto" : {
        "type" : "object",
        "properties" : {
          "tables" : {
            "type" : "array",
            "description" : "List of table IDs associated with the specified cubes.",
            "items" : {
              "type" : "string",
              "description" : "List of table IDs associated with the specified cubes."
            }
          }
        }
      },
      "BotV2CubeInfoRequestDto" : {
        "type" : "object",
        "properties" : {
          "cubeIds" : {
            "type" : "array",
            "description" : "Agent cube IDs.",
            "items" : {
              "type" : "string",
              "description" : "Agent cube IDs."
            }
          }
        }
      },
      "CubeInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Cube name"
          },
          "id" : {
            "type" : "string",
            "description" : "Cube ID"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "path" : {
            "type" : "string",
            "description" : "Cube path"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "size" : {
            "type" : "integer",
            "description" : "Cube size",
            "format" : "int64"
          },
          "status" : {
            "type" : "integer",
            "description" : "Cube status, bit vector of [EnumDSSCubeStates](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSCubeStates.html) - for example, 0=unpublished, 1=publishing, 64=ready",
            "format" : "int32"
          }
        }
      },
      "DBConnectionCreationInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database connection name"
          },
          "description" : {
            "type" : "string",
            "description" : "Database connection description"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Database connection abbreviation"
          },
          "dbLoginId" : {
            "type" : "string",
            "description" : "Object ID of database login"
          },
          "dbRoleType" : {
            "type" : "string",
            "description" : "Database role type. Data type for the values in the column.",
            "enum" : [ "RESERVED", "NORMAL", "DATAIMPORT", "DATAIMPORTPRIMARY", "SCRIPT" ]
          },
          "driverMode" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "enum" : [ "RESERVED", "ODBC", "NATIVE" ]
          },
          "dbType" : {
            "type" : "integer",
            "description" : "Database connection type. Data type for the values in the column. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). For example, 100 for Access, 200 for Oracle, 300 for SQLServer and so on",
            "format" : "int32"
          },
          "getoAuthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth"
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string"
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration used to specify how SQL statements will be executed on a physical database connection made using this database connection",
            "enum" : [ "RESERVED", "ASYNCCONNECTION", "ASYNCSTATEMENT", "SYNCHRONOUS" ]
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection"
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled"
          },
          "maxQueryExeTime" : {
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out",
            "format" : "int32"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution"
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Windows drivers. MULTIBYTE is the default",
            "enum" : [ "MULTIBYTE", "UTF8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Unix drivers. UTF8 is the default",
            "enum" : [ "MULTIBYTE", "UTF8" ]
          },
          "connectionLifetime" : {
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime",
            "format" : "int32"
          },
          "connectionIdleTimeout" : {
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is idle",
            "format" : "int32"
          },
          "maxCancelAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is attempting to make a connection",
            "format" : "int32"
          }
        }
      },
      "AccessControlEntryInfo" : {
        "type" : "object",
        "properties" : {
          "deny" : {
            "type" : "boolean",
            "description" : "Specifies whether access is denied"
          },
          "type" : {
            "type" : "integer",
            "description" : "Access control entry type (1 for object access). Possible values can be found in [EnumDSSXMLAccessEntryType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessEntryType.html)",
            "format" : "int32"
          },
          "rights" : {
            "type" : "integer",
            "description" : "Rights assigned to the designated trustee",
            "format" : "int32"
          },
          "trusteeId" : {
            "type" : "string",
            "description" : "User ID of the designated trustee"
          },
          "trusteeName" : {
            "type" : "string",
            "description" : "User name of the designated trustee"
          },
          "trusteeType" : {
            "type" : "integer",
            "description" : "Type of the designated trustee",
            "format" : "int32"
          },
          "trusteeSubtype" : {
            "type" : "integer",
            "description" : "Sub-type of the designated trustee",
            "format" : "int32"
          },
          "inheritable" : {
            "type" : "boolean",
            "description" : "Specifies whether access control is inherited"
          },
          "trusteeState" : {
            "type" : "string",
            "description" : "User state of the designated trustee",
            "enum" : [ "ACTIVE", "PRECREATED", "EXPIRE" ]
          },
          "trusteeEmail" : {
            "type" : "string",
            "description" : "User email address of the designated trustee"
          }
        },
        "description" : "Object access control list"
      },
      "BasicDbLoginInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of database login object"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of database login object"
          },
          "login" : {
            "type" : "string",
            "description" : "Database login identity"
          }
        },
        "description" : "Database login information"
      },
      "CertifiedInfo" : {
        "type" : "object",
        "properties" : {
          "certified" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is trusted, as determined by the standards set by the certifier"
          },
          "dateCertified" : {
            "type" : "string",
            "description" : "Time when the object was certified, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "certifier" : {
            "$ref" : "#/components/schemas/Certifier"
          }
        },
        "description" : "Certification status, time of certification, and information about the certifier (currently only for document and report)"
      },
      "Certifier" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the certifier"
          },
          "username" : {
            "type" : "string",
            "description" : "Username of the certifier"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name of the certifier"
          }
        },
        "description" : "Information about the entity certifying the object (the certifier)",
        "readOnly" : true
      },
      "DBConnectionInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database connection name"
          },
          "id" : {
            "type" : "string",
            "description" : "Database connection ID (DSS ID)"
          },
          "type" : {
            "type" : "integer",
            "description" : "Database connection type",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Database connection abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Database connection description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Database connection subtype",
            "format" : "int32"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "UTC date/time that Database connection was created, formatted as \"yyyy-MM-dd HH:mm:ss\"",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "UTC date/time that Database connection was modified, formatted as \"yyyy-MM-dd HH:mm:ss\"",
            "format" : "date-time"
          },
          "version" : {
            "type" : "string",
            "description" : "Database connection version"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Database connection access rights",
            "format" : "int32"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Access control list for database connection",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Database connection extended type",
            "format" : "int32"
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders for database connection",
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "dbLogin" : {
            "$ref" : "#/components/schemas/BasicDbLoginInfo"
          },
          "dbRoleType" : {
            "type" : "string",
            "description" : "Database role type.",
            "enum" : [ "RESERVED", "NORMAL", "DATAIMPORT", "DATAIMPORTPRIMARY", "SCRIPT" ]
          },
          "driverMode" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "enum" : [ "RESERVED", "ODBC", "NATIVE" ]
          },
          "dbType" : {
            "type" : "integer",
            "description" : "Database connection type. For example, 100 for Access, 200 for Oracle and 300 for SQLServer and so on. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html)",
            "format" : "int32"
          },
          "oAuthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth"
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string"
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration specifies how SQL statements will be executed on a physical database connection made using this database connection.",
            "enum" : [ "RESERVED", "ASYNCCONNECTION", "ASYNCSTATEMENT", "SYNCHRONOUS" ]
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection."
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled"
          },
          "maxQueryExeTime" : {
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out",
            "format" : "int32"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution with this string"
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Windows drivers",
            "enum" : [ "MULTIBYTE", "UTF8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Unix drivers",
            "enum" : [ "MULTIBYTE", "UTF8" ]
          },
          "connectionLifetime" : {
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime",
            "format" : "int32"
          },
          "connectionIdleTimeout" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when the connection is idle",
            "format" : "int32"
          },
          "maxCancelAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when attempting to make a connection",
            "format" : "int32"
          },
          "oauthParameter" : {
            "type" : "string"
          }
        }
      },
      "ModifiedBy" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the modifier"
          },
          "username" : {
            "type" : "string",
            "description" : "Username of the modifier"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Full name of the modifier"
          },
          "lastModified" : {
            "type" : "string",
            "description" : "Time of modification",
            "format" : "date-time"
          }
        },
        "description" : "Information about the entity modifier and modification time of the template",
        "readOnly" : true
      },
      "ObjectInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          }
        },
        "description" : "Results of the search"
      },
      "Source" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "array",
            "description" : "Membership type",
            "items" : {
              "type" : "string",
              "description" : "Membership type",
              "enum" : [ "MSTR", "IMPORT" ]
            }
          }
        },
        "description" : "Membership information"
      },
      "TemplateInfo" : {
        "type" : "object",
        "properties" : {
          "template" : {
            "type" : "boolean",
            "description" : "Indicates whether the object is a template"
          },
          "lastModifiedBy" : {
            "$ref" : "#/components/schemas/ModifiedBy"
          },
          "default" : {
            "type" : "boolean",
            "description" : "Indicates whether the object is a default template for the project"
          }
        },
        "description" : "Template information, time of modification and information about the modifier (currently only for dossier type of object)"
      },
      "DBMSInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database management system (DBMS) name"
          },
          "id" : {
            "type" : "string",
            "description" : "Database management system (DBMS) ID"
          },
          "type" : {
            "type" : "integer",
            "description" : "Database management system (DBMS) type",
            "format" : "int32"
          },
          "version" : {
            "type" : "integer",
            "description" : "Database management system (DBMS) version",
            "format" : "int32"
          }
        }
      },
      "DSNInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "DSN name"
          },
          "description" : {
            "type" : "string",
            "description" : "DSN description"
          }
        }
      },
      "DBRoleCreationInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "dbmsId" : {
            "type" : "string",
            "description" : "Database management system (DBMS) ID"
          },
          "isDataImport" : {
            "type" : "boolean",
            "description" : "Specifies whether the database role is Data Import."
          },
          "dbConnectionId" : {
            "type" : "string",
            "description" : "Database connection ID"
          },
          "dbType" : {
            "type" : "integer",
            "description" : "Database connection type. For example, 100 for Access, 200 for Oracle and 300 for SQLServer and so on. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). If no value was specified, a default value of 300(SQLServer) will be set to the dbRole object.",
            "format" : "int32"
          }
        }
      },
      "BasicDBConnection" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Database connection ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Database connection name"
          },
          "dbLogin" : {
            "$ref" : "#/components/schemas/BasicDbLoginInfo"
          },
          "driverMode" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "enum" : [ "RESERVED", "ODBC", "NATIVE" ]
          },
          "oAuthParameter" : {
            "type" : "string",
            "description" : "String containing information about OAuth parameter"
          },
          "connectionString" : {
            "type" : "string",
            "description" : "String containing connection information about database connection"
          }
        },
        "description" : "Database connection information"
      },
      "DBMS" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "DataBase management system (DBMS) name"
          },
          "id" : {
            "type" : "string",
            "description" : "DataBase management system (DBMS) ID"
          }
        },
        "description" : "Database management system (DBMS) information"
      },
      "DBRoleInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database role name"
          },
          "id" : {
            "type" : "string",
            "description" : "Database role ID (DSS ID)"
          },
          "type" : {
            "type" : "integer",
            "description" : "Database role type",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Database role abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Database role description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Database role sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "UTC date/time that database role was created, formatted as \"yyyy-MM-dd HH:mm:ss\"",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "UTC date/time that database role was modified, formatted as \"yyyy-MM-dd HH:mm:ss\"",
            "format" : "date-time"
          },
          "version" : {
            "type" : "string",
            "description" : "Database role version"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Database role access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Access control list for database role",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Database role extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32"
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders for database role",
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "dbRoleType" : {
            "type" : "string",
            "description" : "Database role type",
            "enum" : [ "RESERVED", "NORMAL", "DATAIMPORT", "DATAIMPORTPRIMARY", "SCRIPT" ]
          },
          "dbType" : {
            "type" : "integer",
            "description" : "Database connection type. Data type for the values in the column. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). For example, 100 for Access, 200 for Oracle, 300 for SQLServer and so on",
            "format" : "int32"
          },
          "dbVersion" : {
            "type" : "integer",
            "description" : "Database connection version",
            "format" : "int32"
          },
          "odbcVersion" : {
            "type" : "string",
            "description" : "ODBC version",
            "enum" : [ "VERSION3X", "VERSION2X" ]
          },
          "dbms" : {
            "$ref" : "#/components/schemas/DBMS"
          },
          "dbConnection" : {
            "$ref" : "#/components/schemas/BasicDBConnection"
          }
        }
      },
      "DBRolePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/name"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "Autopilot"
          }
        }
      },
      "PatchOperationsDBRolePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DBRolePatchOperation"
            }
          }
        }
      },
      "ObjectBinary" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of exported dashboard"
          },
          "mid" : {
            "type" : "string",
            "description" : "ID of exported .mstr file"
          },
          "data" : {
            "type" : "string",
            "description" : "Content of .mstr file encoded in Base64 string"
          }
        }
      },
      "BookmarkInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Specifies ID of the bookmark to be used"
          },
          "resetManipulation" : {
            "type" : "boolean",
            "description" : "Specifies whether to reset the manipulations saved on the personal view. If true, reset manipulations and discard the bookmark ID"
          }
        },
        "description" : "Bookmark information for the dossier"
      },
      "DashboardCreationInfo" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "List of objects IDs",
            "items" : {
              "$ref" : "#/components/schemas/ObjectIndex"
            }
          },
          "linkingInfo" : {
            "$ref" : "#/components/schemas/LinkingInfo"
          },
          "persistReportViewState" : {
            "type" : "boolean",
            "description" : "If the dossier instance need to apply report shortcut's manipulation"
          },
          "createForReportEditor" : {
            "type" : "boolean",
            "description" : "If the dossier instance is used for the report editor"
          },
          "reset" : {
            "type" : "boolean",
            "description" : "Only works on report editor. Reset all the operation on its shortcut"
          },
          "bookmarkInfo" : {
            "$ref" : "#/components/schemas/BookmarkInfo"
          },
          "bookmarkIds" : {
            "type" : "array",
            "description" : "The ID list of shared Bookmarks",
            "items" : {
              "type" : "string",
              "description" : "The ID list of shared Bookmarks"
            }
          }
        }
      },
      "LinkingInfo" : {
        "type" : "object",
        "properties" : {
          "sourceInstanceId" : {
            "type" : "string",
            "description" : "ID of the dossier instance"
          },
          "promptsAnswers" : {
            "type" : "string",
            "description" : "Prompt answers for the dossier instance"
          },
          "selectorMode" : {
            "type" : "string",
            "description" : "Selector mode for the dossier instance",
            "enum" : [ "NONE", "MATCH_BY_ID", "MATCH_BY_NAME" ]
          },
          "targetPageKey" : {
            "type" : "string",
            "description" : "Target page key for the dossier instance"
          },
          "vizSelection" : {
            "type" : "string",
            "description" : "Visualization selection for the dossier instance"
          },
          "passFilter" : {
            "type" : "string",
            "description" : "Pass filter for the dossier instance"
          },
          "passInCanvasSelection" : {
            "type" : "boolean",
            "description" : "Pass in canvas selection for the dossier instance"
          }
        },
        "description" : "Linking information for the dashboard"
      },
      "ObjectIndex" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "newName" : {
            "type" : "string",
            "description" : "New name for object that is copied or moved. Default is empty, which means the name is not changed,"
          }
        },
        "description" : "Naming info for objects that are copied or moved"
      },
      "DatasetExecutionOutputInfo" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Content of mstr file encoded in Base64 string"
          }
        }
      },
      "DatasetExecutionInputInfo" : {
        "required" : [ "data" ],
        "type" : "object",
        "properties" : {
          "options" : {
            "type" : "string",
            "description" : "Dataset execution options"
          },
          "data" : {
            "type" : "string",
            "description" : "Content of mstr file encoded in Base64 string"
          }
        }
      },
      "ElementFormDto" : {
        "type" : "object",
        "properties" : {
          "baseFormId" : {
            "type" : "string",
            "description" : "Base form ID"
          },
          "value" : {
            "type" : "string",
            "description" : "Form value"
          }
        }
      },
      "DatasetFolderViewInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of folder"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of folder"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of folder"
          },
          "subfolders" : {
            "type" : "array",
            "description" : "Subfolders of folder",
            "items" : {
              "$ref" : "#/components/schemas/DatasetFolderViewInfo"
            }
          }
        }
      },
      "DashboardImportInfo" : {
        "required" : [ "data", "folder" ],
        "type" : "object",
        "properties" : {
          "folder" : {
            "type" : "string",
            "description" : "ID of folder to import"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of dashboard to import"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of dashboard to import"
          },
          "data" : {
            "type" : "string",
            "description" : "Content of .mstr file encoded in Base64 string"
          }
        }
      },
      "DashboardDatasetIndexRequest" : {
        "required" : [ "indexType" ],
        "type" : "object",
        "properties" : {
          "indexType" : {
            "type" : "string",
            "description" : "Dashboard dataset index request type",
            "enum" : [ "element" ]
          }
        }
      },
      "DataMartReportJobId" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the report instance"
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the document instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "jobId" : {
            "type" : "string",
            "description" : "Job ID",
            "readOnly" : true
          }
        }
      },
      "DataMartReport" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the document instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the report instance"
          }
        }
      },
      "DatamartSqlView" : {
        "type" : "object",
        "properties" : {
          "datamartTableName" : {
            "type" : "string",
            "description" : "The table name of datamart"
          },
          "sqlStatement" : {
            "type" : "string",
            "description" : "The SQL statement of the report or cube"
          }
        }
      },
      "SecurityFilter" : {
        "type" : "object",
        "properties" : {
          "securityFilters" : {
            "type" : "array",
            "description" : "List of Security filters",
            "items" : {
              "$ref" : "#/components/schemas/SecurityFilterInfo"
            }
          }
        }
      },
      "SecurityFilterInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Security filter Id"
          },
          "name" : {
            "type" : "string",
            "description" : "Security filter name"
          },
          "description" : {
            "type" : "string",
            "description" : "Security filter description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          }
        },
        "description" : "List of Security filters"
      },
      "Access" : {
        "type" : "object",
        "properties" : {
          "projects" : {
            "type" : "array",
            "description" : "List of projects",
            "items" : {
              "$ref" : "#/components/schemas/BasicSecurityRole"
            }
          }
        },
        "description" : "Objects that the user/usergroup has access to"
      },
      "BasicSecurityRole" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "securityRoles" : {
            "type" : "array",
            "description" : "List of security roles for this project, both direct and inherited ",
            "items" : {
              "$ref" : "#/components/schemas/SecurityRoleInfo"
            }
          }
        },
        "description" : "List of projects"
      },
      "SecurityRoleInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "inherited" : {
            "type" : "boolean",
            "description" : "Specifies whether this role is inherited"
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of user groups this role is inherited from",
            "items" : {
              "$ref" : "#/components/schemas/ObjectNameAndId"
            }
          }
        }
      },
      "UserEntityInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "access" : {
            "$ref" : "#/components/schemas/Access"
          },
          "securityFilter" : {
            "$ref" : "#/components/schemas/SecurityFilterInfo"
          },
          "groups" : {
            "type" : "array",
            "description" : "Specifies the groups of the user. Each string in the list represents a group ID.",
            "items" : {
              "type" : "string",
              "description" : "Specifies the groups of the user. Each string in the list represents a group ID."
            }
          }
        }
      },
      "UsersAndGroupsInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Security filter Id"
          },
          "name" : {
            "type" : "string",
            "description" : "Security filter name"
          },
          "description" : {
            "type" : "string",
            "description" : "Security filter description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "users" : {
            "type" : "array",
            "description" : "Collection of users or user groups",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/UserEntityInfo"
            }
          },
          "totalUsers" : {
            "type" : "integer",
            "description" : "Total count of users",
            "format" : "int32",
            "readOnly" : true
          },
          "totalUserGroups" : {
            "type" : "integer",
            "description" : "Total count of user groups",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Collection of users or user groups"
      },
      "DataModelPublishStatus" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "Current status of the data model. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "tables" : {
            "type" : "array",
            "description" : "Table publish status",
            "items" : {
              "$ref" : "#/components/schemas/TablePublishStatus"
            }
          }
        }
      },
      "TablePublishStatus" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Table ID"
          },
          "status" : {
            "type" : "string",
            "description" : "Table execution status.",
            "enum" : [ "reserved", "waiting", "publishing", "completed", "error", "schema_comparison_completed", "schema_comparison_error" ]
          },
          "errorCode" : {
            "type" : "string",
            "description" : "Error code"
          },
          "errorMessage" : {
            "type" : "string",
            "description" : "Error message"
          }
        },
        "description" : "Table publish status"
      },
      "DataModelRefreshSetting" : {
        "required" : [ "tables" ],
        "type" : "object",
        "properties" : {
          "tables" : {
            "type" : "array",
            "description" : "Table refresh settings",
            "items" : {
              "$ref" : "#/components/schemas/TableRefreshSetting"
            }
          }
        }
      },
      "TableRefreshSetting" : {
        "required" : [ "id", "refreshPolicy" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Table ID"
          },
          "refreshPolicy" : {
            "type" : "string",
            "description" : "Table refresh policy",
            "enum" : [ "add", "delete", "update", "upsert", "replace", "ignore", "reserved" ]
          },
          "fileId" : {
            "type" : "string",
            "description" : "File ID"
          }
        },
        "description" : "Table refresh setting"
      },
      "PatchOperationsSecurityFilterPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SecurityFilterPatchOperation"
            }
          }
        }
      },
      "SecurityFilterPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Use addElement, replace or removeElement operation to be performed",
            "example" : "addElements",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/members",
            "enum" : [ "/members" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : [ "D09773F94699124B4D75B48F1B358327", "54F3D26011D2896560009A8E67019608" ]
          }
        }
      },
      "ServerError" : {
        "type" : "object",
        "properties" : {
          "tableId" : {
            "type" : "string",
            "description" : "Table ID"
          },
          "message" : {
            "type" : "string",
            "description" : "Error message"
          },
          "iServerCode" : {
            "type" : "integer",
            "description" : "I-Server Error code",
            "format" : "int32"
          }
        },
        "description" : "Sync data source errors"
      },
      "SyncDataSourceErrors" : {
        "type" : "object",
        "properties" : {
          "errors" : {
            "type" : "array",
            "description" : "Sync data source errors",
            "items" : {
              "$ref" : "#/components/schemas/ServerError"
            }
          }
        }
      },
      "DatasetContainerCreateDto" : {
        "type" : "object",
        "properties" : {
          "datasets" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "updatedDatasets" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "name" : {
            "type" : "string",
            "description" : "name of the dataset container."
          },
          "embeddedMetrics" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "embeddedFilters" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "attributeLinkings" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "bot" : {
            "$ref" : "#/components/schemas/BotDto"
          }
        }
      },
      "AdminResponse" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Operation status, to indicates success"
          },
          "message" : {
            "type" : "string",
            "description" : "Response message, when needed"
          }
        }
      },
      "FormDataContentDisposition" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "fileName" : {
            "type" : "string"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "modificationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "readDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "Dataset" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "instId" : {
            "type" : "string"
          },
          "locale" : {
            "type" : "integer",
            "format" : "int32"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Attribute"
            }
          }
        }
      },
      "Table" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Table ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Table name"
          }
        },
        "description" : "Represents the imported table."
      },
      "ColumnHeader" : {
        "required" : [ "dataType", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the column header",
            "example" : "SALES"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type for the values in the column with possible values 'STRING', 'INTEGER', 'BIGINTEGER', 'BOOL', 'DOUBLE', 'BIGDECIMAL', 'DATE', 'TIME', and 'DATETIME'",
            "example" : "DOUBLE"
          },
          "dateFormat" : {
            "type" : "string",
            "description" : "Date format for DATETIME values in the column with default format of YYYY-MM-DDThh:mm:ss",
            "example" : "YYYY-MM-DDThh:mm:ss"
          }
        }
      },
      "DIAttribute" : {
        "required" : [ "attributeForms", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the attribute",
            "example" : "ID"
          },
          "attributeForms" : {
            "type" : "array",
            "description" : "Array of forms for the attribute",
            "items" : {
              "$ref" : "#/components/schemas/DIForm"
            }
          }
        },
        "description" : "Attributes to be included in the dataset"
      },
      "DIExpression" : {
        "required" : [ "formula" ],
        "type" : "object",
        "properties" : {
          "formula" : {
            "type" : "string",
            "description" : "Expression that links a metric or attribute form in the dataset to a column header in the table, in the format table_name.column_name"
          }
        }
      },
      "DIForm" : {
        "required" : [ "category", "expressions" ],
        "type" : "object",
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category of the attribute form, with values such as ID or DESC",
            "example" : "ID"
          },
          "expressions" : {
            "type" : "array",
            "description" : "Array of expressions that link attribute forms to column headers in the table",
            "example" : [ {
              "formula" : "SALES_TABLE.ID"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/DIExpression"
            }
          }
        },
        "description" : "Array of forms for the attribute"
      },
      "DIMetric" : {
        "required" : [ "expressions", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the metric",
            "example" : "Sales"
          },
          "expressions" : {
            "type" : "array",
            "description" : "Array of expressions that link metrics to column headers in the table",
            "example" : [ {
              "formula" : "SALES_TABLE.SALES"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/DIExpression"
            }
          }
        },
        "description" : "Metrics to be included in the dataset"
      },
      "DatasetCreator" : {
        "required" : [ "name", "tables" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the dataset to be created from the external data",
            "example" : "SALES_TABLE_V1"
          },
          "tables" : {
            "type" : "array",
            "description" : "Tables to be created in the dataset",
            "items" : {
              "$ref" : "#/components/schemas/TableCreator"
            }
          },
          "attributes" : {
            "type" : "array",
            "description" : "Attributes to be included in the dataset",
            "items" : {
              "$ref" : "#/components/schemas/DIAttribute"
            }
          },
          "metrics" : {
            "type" : "array",
            "description" : "Metrics to be included in the dataset",
            "items" : {
              "$ref" : "#/components/schemas/DIMetric"
            }
          },
          "folderId" : {
            "type" : "string",
            "description" : "ID of the folder the dataset will be saved to. It will be saved to 'My Reports' if a specific folder is not specified.",
            "example" : "D3C7D461F69C4610AA6BAA5EF51F4125"
          }
        }
      },
      "TableCreator" : {
        "required" : [ "columnHeaders", "data", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the table",
            "example" : "SALES_TABLE"
          },
          "columnHeaders" : {
            "type" : "array",
            "description" : "Column headers for the table",
            "example" : [ {
              "name" : "ID",
              "dataType" : "STRING"
            }, {
              "name" : "SALES",
              "dataType" : "DOUBLE"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ColumnHeader"
            }
          },
          "data" : {
            "type" : "string",
            "description" : "Data in the table, which is stringified JSON format encoded as Base64",
            "example" : "W3siSUQiOiJhYmMiLCJTQUxFUyI6MTIzNDUuMjIyfV0="
          }
        }
      },
      "DatasetBasicInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dataset ID",
            "example" : "46D6667642F52AC11D1F28BA724160FA"
          },
          "name" : {
            "type" : "string",
            "description" : "Dataset name",
            "example" : "SALES_TABLE_V2"
          }
        }
      },
      "PushAPIAttribute" : {
        "required" : [ "attributeForms", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the attribute"
          },
          "attributeForms" : {
            "type" : "array",
            "description" : "Array of forms for the attribute",
            "items" : {
              "$ref" : "#/components/schemas/PushAPIAttributeForm"
            }
          }
        }
      },
      "PushAPIAttributeForm" : {
        "required" : [ "category", "expressions" ],
        "type" : "object",
        "properties" : {
          "category" : {
            "type" : "string",
            "description" : "Category of the attribute form, with values such as ID or DESC",
            "example" : "ID"
          },
          "expressions" : {
            "type" : "array",
            "description" : "Array of expressions that link attribute forms to column headers in the table",
            "items" : {
              "$ref" : "#/components/schemas/PushAPIExpression"
            }
          }
        },
        "description" : "Array of forms for the attribute"
      },
      "PushAPIColumn" : {
        "required" : [ "dataType", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Column name"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type. Possible values are Boolean, Integer, String, BigInteger, Double, BigDecimal, Date, Time, DateTime.",
            "enum" : [ "BOOLEAN", "INTEGER", "STRING", "BIGINTEGER", "DOUBLE", "BIGDECIMAL", "DATE", "TIME", "DATETIME" ]
          }
        }
      },
      "PushAPIDataset" : {
        "required" : [ "attributes", "metrics", "name", "tables" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Dataset name",
            "example" : "SALES_TABLE_V2"
          },
          "description" : {
            "type" : "string",
            "description" : "Dataset description",
            "example" : "product"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Folder Id",
            "example" : "D3C7D461F69C4610AA6BAA5EF51F4125"
          },
          "tables" : {
            "type" : "array",
            "description" : "Tables in the dataset",
            "items" : {
              "$ref" : "#/components/schemas/PushAPITable"
            }
          },
          "metrics" : {
            "type" : "array",
            "description" : "Metrics in the dataset",
            "example" : [ {
              "name" : "Sales",
              "expressions" : [ {
                "tableName" : "SALES_TABLE",
                "columnName" : "SALES"
              } ]
            } ],
            "items" : {
              "$ref" : "#/components/schemas/PushAPIMetric"
            }
          },
          "attributes" : {
            "type" : "array",
            "description" : "Attributes in the dataset",
            "example" : [ {
              "name" : "ID",
              "attributeForms" : [ {
                "category" : "ID",
                "expressions" : [ {
                  "tableName" : "SALES_TABLE",
                  "columnName" : "ID"
                } ]
              } ]
            } ],
            "items" : {
              "$ref" : "#/components/schemas/PushAPIAttribute"
            }
          }
        }
      },
      "PushAPIExpression" : {
        "required" : [ "columnName", "tableName" ],
        "type" : "object",
        "properties" : {
          "tableName" : {
            "type" : "string",
            "description" : "Table name"
          },
          "columnName" : {
            "type" : "string",
            "description" : "Column name"
          }
        },
        "description" : "Array of expressions that link attribute forms to column headers in the table"
      },
      "PushAPIMetric" : {
        "required" : [ "expressions", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the metric"
          },
          "expressions" : {
            "type" : "array",
            "description" : "Array of expressions that link metrics to column headers in the table",
            "items" : {
              "$ref" : "#/components/schemas/PushAPIExpression"
            }
          }
        }
      },
      "PushAPITable" : {
        "required" : [ "columnHeaders" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Table name",
            "example" : "SALES_TABLE"
          },
          "columnHeaders" : {
            "type" : "array",
            "description" : "Columns in the table",
            "example" : [ {
              "name" : "ID",
              "dataType" : "STRING"
            }, {
              "name" : "SALES",
              "dataType" : "DOUBLE"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/PushAPIColumn"
            }
          }
        },
        "description" : "Tables in the dataset"
      },
      "AttributeInfo" : {
        "required" : [ "attribute", "schema" ],
        "type" : "object",
        "properties" : {
          "schema" : {
            "type" : "string"
          },
          "attribute" : {
            "type" : "string"
          }
        }
      },
      "AttributeShortcutNode" : {
        "required" : [ "nodeType" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "attribute" : {
              "$ref" : "#/components/schemas/AttributeInfo"
            }
          }
        } ]
      },
      "ConstantInfo" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "constant value"
          }
        },
        "description" : "constant info including constant value"
      },
      "ConstantNode" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "variant" : {
              "$ref" : "#/components/schemas/StructVariant"
            },
            "prompt" : {
              "$ref" : "#/components/schemas/ObjectInfoReference"
            }
          }
        } ]
      },
      "CubeSecurityFilters" : {
        "required" : [ "securityFilterViews" ],
        "type" : "object",
        "properties" : {
          "cubeSecurityFilters" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "writeOnly" : true
          },
          "securityFilterViews" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "description" : "cube security Filter Views"
          }
        }
      },
      "ElementsNode" : {
        "required" : [ "nodeType" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "elements" : {
              "type" : "array",
              "description" : "Attribute elements",
              "readOnly" : true,
              "items" : {
                "$ref" : "#/components/schemas/ObjectNameAndId"
              }
            }
          }
        } ]
      },
      "FormShortcutNode" : {
        "required" : [ "attribute", "form" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "attribute" : {
              "$ref" : "#/components/schemas/ObjectInfoReference"
            },
            "form" : {
              "$ref" : "#/components/schemas/ObjectInfoReference"
            },
            "dataLocale" : {
              "type" : "string"
            }
          }
        } ]
      },
      "Node" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          }
        },
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "OperatorNode" : {
        "required" : [ "children", "function" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "function" : {
              "type" : "string"
            },
            "children" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Node"
              }
            }
          }
        } ]
      },
      "DatasetInfo" : {
        "required" : [ "result" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dataset ID",
            "example" : "46D6667642F52AC11D1F28BA724160FA"
          },
          "name" : {
            "type" : "string",
            "description" : "Dataset name",
            "example" : "SALES_TABLE_V2"
          },
          "result" : {
            "type" : "array",
            "description" : "Dataset definition that is returned",
            "example" : {
              "definition" : {
                "availableObjects" : {
                  "tables" : [ {
                    "id" : "676B81FF16A4D8C684F1743601944488",
                    "name" : "SALES_TABLE",
                    "type" : 15
                  } ]
                }
              }
            },
            "items" : {
              "type" : "object"
            }
          }
        }
      },
      "ReportInstance" : {
        "type" : "object",
        "properties" : {
          "instanceId" : {
            "type" : "string",
            "description" : "Message ID of the new report instance"
          }
        }
      },
      "PushAPIAddDataTable" : {
        "required" : [ "data", "index", "tableName" ],
        "type" : "object",
        "properties" : {
          "tableName" : {
            "type" : "string",
            "description" : "Table name",
            "example" : "SALES_TABLE"
          },
          "index" : {
            "type" : "integer",
            "description" : "Index for this chunk of data. Minimum value is 1",
            "format" : "int32",
            "example" : 1
          },
          "data" : {
            "type" : "string",
            "description" : "Base64 encoded chunk of data",
            "example" : "W1siYWJjIiwxMjM0NS4yMjJdXQ=="
          }
        }
      },
      "PushAPIResponse" : {
        "type" : "object",
        "properties" : {
          "uploadSessionId" : {
            "type" : "string",
            "description" : "Uploading session ID. Use the session to do manipulation on the dataset and then save it into a dataset",
            "example" : "68208C3F44A3606A88266B8BD8FBF32F"
          }
        }
      },
      "PushAPICreateSessionBody" : {
        "required" : [ "tables" ],
        "type" : "object",
        "properties" : {
          "tables" : {
            "type" : "array",
            "description" : "Formatting information and update policy for each table in the dataset",
            "items" : {
              "$ref" : "#/components/schemas/PushAPICreateSessionTable"
            }
          }
        }
      },
      "PushAPICreateSessionTable" : {
        "required" : [ "name", "orientation", "updatePolicy" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Table name",
            "example" : "SALES_TABLE"
          },
          "updatePolicy" : {
            "type" : "string",
            "description" : "Defines how new data is applied to existing data in the table during the update operation",
            "example" : "REPLACE",
            "enum" : [ "ADD", "UPDATE", "UPSERT", "REPLACE" ]
          },
          "orientation" : {
            "type" : "string",
            "description" : "Specifies whether the array of data used to update the table corresponds to data in a row or data in a column (default is \"ROW\")",
            "enum" : [ "ROW", "COLUMN" ]
          },
          "columnHeaders" : {
            "type" : "array",
            "description" : "List of column names representing the order in which data used for updates should be arranged",
            "example" : [ "ID", "SALES" ],
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Formatting information and update policy for each table in the dataset"
      },
      "PushAPIPublishStatus" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "data status",
            "format" : "int32",
            "example" : 1
          },
          "message" : {
            "type" : "string",
            "description" : "data status in string",
            "example" : "result ready"
          }
        }
      },
      "TableAction" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Table name"
          },
          "action" : {
            "type" : "string",
            "description" : "Refresh action. See [EnumDSSXMLTableStateExecutionAction](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLTableStateExecutionAction.html) for possible values (= None, Force execution, Ignore, Require fresh data",
            "enum" : [ "None", "ForceExecution", "Ignore", "RequireFreshData" ]
          }
        },
        "description" : "Array of table refresh actions"
      },
      "TableActions" : {
        "type" : "object",
        "properties" : {
          "tableActionList" : {
            "type" : "array",
            "description" : "Array of table refresh actions",
            "items" : {
              "$ref" : "#/components/schemas/TableAction"
            }
          }
        }
      },
      "ColumnValidateInfo" : {
        "type" : "object",
        "properties" : {
          "cols" : {
            "$ref" : "#/components/schemas/SourceColumnInfo"
          },
          "validColumn" : {
            "type" : "integer",
            "description" : "Valid column",
            "format" : "int32",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Column name",
            "readOnly" : true
          },
          "dataType" : {
            "type" : "integer",
            "description" : "Column data type",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Array of information about columns in the table"
      },
      "SourceColumnInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Column name",
            "readOnly" : true
          },
          "dataType" : {
            "type" : "integer",
            "description" : "Column data type",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Array of column names and data types"
      },
      "TableValidateInfo" : {
        "type" : "object",
        "properties" : {
          "cols" : {
            "type" : "array",
            "description" : "Array of information about columns in the table",
            "items" : {
              "$ref" : "#/components/schemas/ColumnValidateInfo"
            }
          },
          "tableId" : {
            "type" : "string",
            "description" : "Table ID",
            "readOnly" : true
          },
          "validTable" : {
            "type" : "integer",
            "description" : "Valid table",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Array of table validation infomation"
      },
      "TablesValidateInfo" : {
        "type" : "object",
        "properties" : {
          "tableValidateInfoList" : {
            "type" : "array",
            "description" : "Array of table validation infomation",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/TableValidateInfo"
            }
          }
        }
      },
      "ReportSaveAsInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Folder DSSID"
          },
          "saveMode" : {
            "type" : "integer",
            "description" : "Save Mode",
            "format" : "int32"
          },
          "displayMode" : {
            "type" : "integer",
            "description" : "Display Mode",
            "format" : "int32"
          },
          "viewIndex" : {
            "type" : "integer",
            "description" : "View Index",
            "format" : "int32"
          }
        }
      },
      "DatasourceAuthUrlInfoResponse" : {
        "required" : [ "url" ],
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "datasource auth url"
          }
        }
      },
      "DatasourceRetrieveOAuthTokenRequest" : {
        "required" : [ "code" ],
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "authorization code"
          }
        }
      },
      "ConnectionInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Datasource connection name."
          },
          "id" : {
            "type" : "string",
            "description" : "Datasource connection id."
          },
          "description" : {
            "type" : "string",
            "description" : "Datasource connection description."
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags]https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration specifies how SQL statements will be executed on a physical database connection made using this database connection.",
            "default" : "synchronous",
            "enum" : [ "reserved", "async_connection", "async_statement", "synchronous" ]
          },
          "maxCancelAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when attempting to make a connection.",
            "format" : "int32",
            "default" : 60
          },
          "maxQueryExeTime" : {
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out. A value of -1 indicates no timeout.",
            "format" : "int32",
            "default" : -1
          },
          "maxConnectionAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds connection attempts to be made before timing out.",
            "format" : "int32",
            "default" : 60
          },
          "connectionLifetime" : {
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime.",
            "format" : "int32",
            "default" : 36000
          },
          "connectionIdleTimeout" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when the connection is idle.",
            "format" : "int32",
            "default" : 60
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Windows drivers.",
            "default" : "multibyte",
            "enum" : [ "multibyte", "utf8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Unix drivers.",
            "default" : "utf8",
            "enum" : [ "multibyte", "utf8" ]
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution with this string."
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string."
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled.",
            "default" : false
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection.",
            "default" : false
          },
          "driverType" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "default" : "odbc",
            "enum" : [ "reserved", "odbc", "native" ]
          },
          "oauthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth."
          },
          "walletInfo" : {
            "type" : "string",
            "description" : "Used for wallet and certification."
          },
          "iam" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "resource" : {
            "type" : "string",
            "description" : "The url of configured Web API for OAuth authentication usage."
          },
          "scope" : {
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting."
          },
          "enableSso" : {
            "type" : "boolean",
            "description" : "Specifies whether to use Single Sign-On.",
            "default" : false
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
              "example" : "{\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "KeyStorePassword" : "",
              "TrustStorePassword" : ""
            }
          },
          "oauthGrantType" : {
            "type" : "string",
            "description" : "Specifies the grant type for OAuth.",
            "default" : "authorization_code",
            "enum" : [ "authorization_code", "client_credentials" ]
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseConnectionInfo"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          }
        }
      },
      "DatabaseConnectionInfo" : {
        "type" : "object",
        "properties" : {
          "login" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "type" : {
            "type" : "string",
            "description" : "Database connection type. Data type for the values in the column. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). For example, 100 for Access, 200 for Oracle, 300 for SQLServer and so on",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "version" : {
            "type" : "string",
            "description" : "Database version",
            "enum" : [ "default", "reserved", "access_20", "access_2000", "access_2002", "access_2003", "access_2007", "access_70", "actian_vector_4x", "adabase_d6112", "altibase_63x", "amazon_athena_1", "amazon_aurora_1", "amazon_aurora_postgres_compatible", "amazon_document_db", "amazon_dynamno_db", "amazon_redshift", "apache_spark_15", "apache_spark_1x", "arcadia_platform1", "astern_cluster_30", "astern_cluster_40", "astern_cluster_45", "astern_cluster_46", "astern_cluster_50", "astern_cluster_51", "astern_cluster_6", "azure_synapse_analytics", "big_data_engine_1", "calpont_infini_db", "cassandra_2x", "cassandra_3", "cisco_data_virtualization_7x", "click_house", "cloud_gateway_aws_s3_v1", "cloud_gateway_azure_adls2d_v1", "cloud_gateway_google_cloud_storage_v1", "cloud_gateway_v1", "composite_450", "composite_510", "composite_6x", "concur", "connection_cloud1", "databricks", "data_direct_cloud", "datallegro_3x", "cirro_1x", "db_sap_hana1", "denodo_7x", "elasticsearch", "eloqua", "enterprise_db9x", "exasol", "exa_solution3x", "exa_solution40", "exa_solution_5x", "excel_2003", "financial_force", "gbase_8a", "github", "google_big_query", "google_cloud_spanner", "greenplum_3x", "greenplum_4x", "hive_010", "hive_011", "hive_012", "hive_013", "hive_014", "hive_05", "hive_06", "hive_07", "hive_08", "hive_09", "hive_2x", "hive_3x", "hive_duplicate_11x", "hive_thrift", "hive_thrift_08", "hive_thrift_09", "hp_neoview_20", "hp_neoview_22", "hp_neoview_23", "hp_neoview_24", "hp_neoview_25", "hp_vertica_7x", "hubspot", "ibm_big_insights_2x", "ibm_db2_105", "ibm_db2_11forzos", "ibm_db2_400v3r7", "ibm_db2_400v4r1", "ibm_db2_400v4r2", "ibm_db2_400v4r3", "ibm_db2_400v4r4", "ibm_db2_400v4r5", "ibm_db2_400v5r1", "ibm_db2_400v5r2", "ibm_db2_400_v5r4", "ibm_db2_400_v6r1", "ibm_db2_400v7r1", "ibm_db2_cs212", "ibm_db2_os39041", "ibm_db2_os39050", "ibm_db2_os39062", "ibm_db2_os3907", "ibm_db2_os3908", "ibm_db2_pe12", "ibm_info_sphere_big_insights_3x", "ibm_integrated_analytics", "ibm_ips", "ibm_netezza_71x", "ibm_netezza_72x", "ibm_udb_101", "ibm_udb_111", "ibm_udb_52", "ibm_udb_61", "ibm_udb_7", "ibm_udb_8", "ibm_udb_91", "ibm_udb_91zos", "ibm_udb_95", "ibm_udb_97", "ibm_udbeee_50", "ibm_udbsmp_50", "ibm_udb_v10zos", "imdb", "impala_1x", "impala_20", "impala_3x", "infobright_33", "infobright_40", "informatica_91x", "informatica_95", "informatica_96x", "informix_10", "informix_ids_10", "informix_ids_10x11x", "informix_ids_115", "informix_ids_117", "informix_ids12", "informix_ids93", "informix_ids94", "informix_ods724uc1", "informix_ods731", "informix_udo92", "informix_xps82", "informix_xps83", "ingres_10s", "jira", "kafka", "kognitio_7x", "kognitio_8x", "kyvos", "mapd", "maprdrill", "mapr_drill_1x", "maria_db_10x", "maria_db_5x", "marketo", "mark_logic_7x", "mdx_essbase_hyperion", "mdx_essbase_hyperion_11x", "mdx_essbase_hyperion_9", "mdx_essbase_hyperion_9x", "mdx_microsoft_as2000", "mdx_microsoft_as2005", "mdx_microsoft_as2008", "mdx_microsoft_as2016_binary_connector", "mdx_microsoft_as2017_binary_connector", "mdx_microsoft_azure_binary_connector", "mdx_microsoft_as2019_binary_connector", "mdx_microsoft_asfabric_binary_connector", "mdx_ms_as20052008", "mdx_ms_as2012", "mdx_ms_as2012", "mdx_oracle_essbase93", "mdxsapbw30", "mdxsapbw7x", "mdx_sap_hana_2x", "mdxtm1x", "mem_sql_26", "metamatrix_55", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "microsoft_fabric_lakehouse", "mongo_db_2x", "mongo_db_3x", "strategy", "mstr_data_import_server_1", "my_sql_50", "my_sql_51", "mysql_8x", "mysql_9x", "neo4j", "netezza_22", "netezza_25", "netezza_3", "netezza_30", "netezza_4", "netezza_40", "netezza_46", "netezza_4xdblytix10", "netezza_50", "netezza_60", "netezza_70", "odata", "open_access_14", "oracle_21c", "oracle_10g", "oracle_10gr2", "oracle_11g", "oracle_11gr2", "oracle_122", "oracle_12c", "oracle_18c", "oracle_19c", "oracle_733", "oracle_8003", "oracle_805", "oracle_8i", "oracle_8ir2", "oracle8ir2se", "oracle_8ir3", "oracle_9i", "oracle_cx_sales", "oracle_cx_service", "par_accel_2x", "par_accel_3", "par_accel_31x", "par_accel_35", "par_accel_40", "par_accel_50x", "par_accel_51x", "par_stream3x", "paypal", "phoenix_3x", "phoenix_4x", "pig_apache", "pivotal_greenplum", "pivotal_hawq_2x", "pivotal_hawq_3x", "postgre_sql_81", "postgre_sql_82", "postgre_sql_83", "postgre_sql_84", "postgre_sql_90", "postgre_sql_91", "presto", "python", "red_brick_5007", "red_brick_5012", "red_brick_5105", "red_brick_6", "red_brick_61", "red_brick_62", "red_brick_63", "salesforce", "sandcdbms_61", "sandcdbms_71", "sap_bw_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana1_sp5", "sap_hana1_sp7", "sap_hana1_sp8", "sap_hana1_sp9", "sap_hana_2", "sap_s4_hana", "servicemax", "servicenow", "shopify", "snowflake_1x", "solr_search", "spark_shark_09x", "spark_sql_2x", "splunk_6", "sql_denodo_50", "sql_server_2000", "sql_server_2005", "sql_server_2008", "sql_server_2008_native_client", "sql_server_2008r2_par", "sql_server_2012", "sql_server_2012_par", "sql_server_2014", "sql_server_2016", "sql_server_2017", "sql_server_2019", "sql_server_65", "sql_server_70", "sql_server_azure", "square", "starburst", "star_rocks", "sugarcrm", "sybase_adaptive_115", "sybase_adaptive_12", "sybase_adaptive_125", "sybase_ase_15", "sybase_ase_16x", "sybase_iq112", "sybase_iq12", "sybase_iq127", "sybase_iq15", "sybase_iq151", "sybase_iq152", "sybase_iq153", "sybase_iq154", "sybase_iq16", "sybase_sql_112", "sybase_sql_any11", "tandem_mpd_42", "tandem_mpd_45", "tandem_mx1", "teamcity", "teradata_12", "teradata_120", "teradata_13", "teradata_131", "teradata_14", "teradata_141", "teradata_15", "teradata_151", "teradata_160", "teradata_17", "teradata_ntv2r2", "teradata_ntv2r3", "teradata_v2r1", "teradata_v2r20002", "teradata_v2r21", "teradata_v2r3", "teradata_v2r4", "teradata_v2r41", "teradata_v2r5", "teradata_v2r51", "teradata_v2r6", "teradata_v2r61", "teradata_v2r62", "spark_sql3x", "alloydb", "trino", "palantir_foundry", "dremio", "sap_datasphere", "vector_wise15", "vector_wise20x", "vector_wise3x", "vertica_25", "vertica_30", "vertica_40", "vertica_5051", "vertica_60", "xquery", "xquery_bi", "yellowbrick", "cloud_gateway_sharepoint_v1", "cloud_gateway_adobe_analytics_v1", "python_query", "cloud_gateway_jira_v1", "cloud_gateway_cognite_data_fusion_v1" ]
          }
        },
        "description" : "Database info."
      },
      "ConnectionCreationInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Datasource connection description."
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration used to specify how SQL statements will be executed on a physical database connection made using this database connection.",
            "default" : "synchronous",
            "enum" : [ "reserved", "async_connection", "async_statement", "synchronous" ]
          },
          "maxCancelAttemptTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is attempting to cancel a connection.",
            "format" : "int32",
            "default" : 60
          },
          "maxQueryExeTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out. A value of -1 indicates no timeout.",
            "format" : "int32",
            "default" : -1
          },
          "maxConnectionAttemptTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds connection attempts to be made before timing out.",
            "format" : "int32",
            "default" : 60
          },
          "connectionLifetime" : {
            "maximum" : 999999,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime.",
            "format" : "int32",
            "default" : 36000
          },
          "connectionIdleTimeout" : {
            "maximum" : 99999,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is idle.",
            "format" : "int32",
            "default" : 60
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Windows drivers.",
            "default" : "multibyte",
            "enum" : [ "multibyte", "utf8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Unix drivers.",
            "default" : "utf8",
            "enum" : [ "multibyte", "utf8" ]
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution."
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string."
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled.",
            "default" : false
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection.",
            "default" : false
          },
          "driverType" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "default" : "odbc",
            "enum" : [ "reserved", "odbc", "native" ]
          },
          "oauthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth"
          },
          "wallet" : {
            "$ref" : "#/components/schemas/Wallet"
          },
          "iam" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "resource" : {
            "type" : "string",
            "description" : "The url of configured Web API for OAuth authentication usage."
          },
          "scope" : {
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting."
          },
          "enableSso" : {
            "type" : "boolean",
            "description" : "Specifies whether to use Single Sign-On.",
            "default" : false
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/EncryptedObjectString"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"abc\",\"TrustStorePassword\":\"abc\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "KeyStorePassword" : "abc",
              "TrustStorePassword" : "abc"
            }
          },
          "oauthGrantType" : {
            "type" : "string",
            "description" : "Specifies the grant type for OAuth.",
            "default" : "authorization_code",
            "enum" : [ "authorization_code", "client_credentials" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Datasource connection name."
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseConnectionInfo"
          }
        }
      },
      "EncryptedObjectString" : {
        "type" : "object",
        "properties" : {
          "object" : {
            "type" : "string"
          }
        },
        "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as refresh tokens, client secrets or other password-like values. It is defined as a json object , such as {\"RefreshToken\":\"tokenValue\",\"ClientSecret\":\"secret\"}. and these key-values will be  appended to the connection string at connection time.",
        "example" : {
          "RefreshToken" : "tokenValue",
          "ClientSecret" : "secret"
        }
      },
      "Wallet" : {
        "type" : "object",
        "properties" : {
          "walletInfo" : {
            "type" : "string",
            "description" : "Used for uploading wallet and certificate. Provide basic information for binaries"
          },
          "walletBinaryInBase64" : {
            "type" : "string",
            "description" : "Used for uploading wallet and certificate. Provide binaries. Should be Base64 encoded. If there are multiple binaries, they should be separated by comma",
            "example" : "YjE=,YjI="
          }
        },
        "description" : "Wallet information and binary"
      },
      "ConnectionMap" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Connection Map Id"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project Id"
          },
          "connection" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "datasource" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "user" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "login" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "locale" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "defaultConnectionMap" : {
            "type" : "boolean",
            "description" : "Information about the connection link. Default localized connection link which can not be updated or deleted.",
            "readOnly" : true
          }
        }
      },
      "ConnectionMapCreationInfo" : {
        "required" : [ "connection", "datasource", "login", "projectId", "user" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project Id"
          },
          "user" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "connection" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "datasource" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "login" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "locale" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          }
        },
        "description" : "List of connection map creation info."
      },
      "ObjectGUID" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          }
        },
        "description" : "Primary datasource info"
      },
      "ConnectionMapCreationInfos" : {
        "type" : "object",
        "properties" : {
          "connectionMapCreationInfoList" : {
            "type" : "array",
            "description" : "List of connection map creation info.",
            "items" : {
              "$ref" : "#/components/schemas/ConnectionMapCreationInfo"
            }
          }
        }
      },
      "DatabaseInfo" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Database type",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "version" : {
            "type" : "string",
            "description" : "Database version. Set the value of database version in integer inform of String from https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseVersion.html",
            "enum" : [ "default", "reserved", "access_20", "access_2000", "access_2002", "access_2003", "access_2007", "access_70", "actian_vector_4x", "adabase_d6112", "altibase_63x", "amazon_athena_1", "amazon_aurora_1", "amazon_aurora_postgres_compatible", "amazon_document_db", "amazon_dynamno_db", "amazon_redshift", "apache_spark_15", "apache_spark_1x", "arcadia_platform1", "astern_cluster_30", "astern_cluster_40", "astern_cluster_45", "astern_cluster_46", "astern_cluster_50", "astern_cluster_51", "astern_cluster_6", "azure_synapse_analytics", "big_data_engine_1", "calpont_infini_db", "cassandra_2x", "cassandra_3", "cisco_data_virtualization_7x", "click_house", "cloud_gateway_aws_s3_v1", "cloud_gateway_azure_adls2d_v1", "cloud_gateway_google_cloud_storage_v1", "cloud_gateway_v1", "composite_450", "composite_510", "composite_6x", "concur", "connection_cloud1", "databricks", "data_direct_cloud", "datallegro_3x", "cirro_1x", "db_sap_hana1", "denodo_7x", "elasticsearch", "eloqua", "enterprise_db9x", "exasol", "exa_solution3x", "exa_solution40", "exa_solution_5x", "excel_2003", "financial_force", "gbase_8a", "github", "google_big_query", "google_cloud_spanner", "greenplum_3x", "greenplum_4x", "hive_010", "hive_011", "hive_012", "hive_013", "hive_014", "hive_05", "hive_06", "hive_07", "hive_08", "hive_09", "hive_2x", "hive_3x", "hive_duplicate_11x", "hive_thrift", "hive_thrift_08", "hive_thrift_09", "hp_neoview_20", "hp_neoview_22", "hp_neoview_23", "hp_neoview_24", "hp_neoview_25", "hp_vertica_7x", "hubspot", "ibm_big_insights_2x", "ibm_db2_105", "ibm_db2_11forzos", "ibm_db2_400v3r7", "ibm_db2_400v4r1", "ibm_db2_400v4r2", "ibm_db2_400v4r3", "ibm_db2_400v4r4", "ibm_db2_400v4r5", "ibm_db2_400v5r1", "ibm_db2_400v5r2", "ibm_db2_400_v5r4", "ibm_db2_400_v6r1", "ibm_db2_400v7r1", "ibm_db2_cs212", "ibm_db2_os39041", "ibm_db2_os39050", "ibm_db2_os39062", "ibm_db2_os3907", "ibm_db2_os3908", "ibm_db2_pe12", "ibm_info_sphere_big_insights_3x", "ibm_integrated_analytics", "ibm_ips", "ibm_netezza_71x", "ibm_netezza_72x", "ibm_udb_101", "ibm_udb_111", "ibm_udb_52", "ibm_udb_61", "ibm_udb_7", "ibm_udb_8", "ibm_udb_91", "ibm_udb_91zos", "ibm_udb_95", "ibm_udb_97", "ibm_udbeee_50", "ibm_udbsmp_50", "ibm_udb_v10zos", "imdb", "impala_1x", "impala_20", "impala_3x", "infobright_33", "infobright_40", "informatica_91x", "informatica_95", "informatica_96x", "informix_10", "informix_ids_10", "informix_ids_10x11x", "informix_ids_115", "informix_ids_117", "informix_ids12", "informix_ids93", "informix_ids94", "informix_ods724uc1", "informix_ods731", "informix_udo92", "informix_xps82", "informix_xps83", "ingres_10s", "jira", "kafka", "kognitio_7x", "kognitio_8x", "kyvos", "mapd", "maprdrill", "mapr_drill_1x", "maria_db_10x", "maria_db_5x", "marketo", "mark_logic_7x", "mdx_essbase_hyperion", "mdx_essbase_hyperion_11x", "mdx_essbase_hyperion_9", "mdx_essbase_hyperion_9x", "mdx_microsoft_as2000", "mdx_microsoft_as2005", "mdx_microsoft_as2008", "mdx_microsoft_as2016_binary_connector", "mdx_microsoft_as2017_binary_connector", "mdx_microsoft_azure_binary_connector", "mdx_microsoft_as2019_binary_connector", "mdx_microsoft_asfabric_binary_connector", "mdx_ms_as20052008", "mdx_ms_as2012", "mdx_ms_as2012", "mdx_oracle_essbase93", "mdxsapbw30", "mdxsapbw7x", "mdx_sap_hana_2x", "mdxtm1x", "mem_sql_26", "metamatrix_55", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "microsoft_fabric_lakehouse", "mongo_db_2x", "mongo_db_3x", "strategy", "mstr_data_import_server_1", "my_sql_50", "my_sql_51", "mysql_8x", "mysql_9x", "neo4j", "netezza_22", "netezza_25", "netezza_3", "netezza_30", "netezza_4", "netezza_40", "netezza_46", "netezza_4xdblytix10", "netezza_50", "netezza_60", "netezza_70", "odata", "open_access_14", "oracle_21c", "oracle_10g", "oracle_10gr2", "oracle_11g", "oracle_11gr2", "oracle_122", "oracle_12c", "oracle_18c", "oracle_19c", "oracle_733", "oracle_8003", "oracle_805", "oracle_8i", "oracle_8ir2", "oracle8ir2se", "oracle_8ir3", "oracle_9i", "oracle_cx_sales", "oracle_cx_service", "par_accel_2x", "par_accel_3", "par_accel_31x", "par_accel_35", "par_accel_40", "par_accel_50x", "par_accel_51x", "par_stream3x", "paypal", "phoenix_3x", "phoenix_4x", "pig_apache", "pivotal_greenplum", "pivotal_hawq_2x", "pivotal_hawq_3x", "postgre_sql_81", "postgre_sql_82", "postgre_sql_83", "postgre_sql_84", "postgre_sql_90", "postgre_sql_91", "presto", "python", "red_brick_5007", "red_brick_5012", "red_brick_5105", "red_brick_6", "red_brick_61", "red_brick_62", "red_brick_63", "salesforce", "sandcdbms_61", "sandcdbms_71", "sap_bw_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana1_sp5", "sap_hana1_sp7", "sap_hana1_sp8", "sap_hana1_sp9", "sap_hana_2", "sap_s4_hana", "servicemax", "servicenow", "shopify", "snowflake_1x", "solr_search", "spark_shark_09x", "spark_sql_2x", "splunk_6", "sql_denodo_50", "sql_server_2000", "sql_server_2005", "sql_server_2008", "sql_server_2008_native_client", "sql_server_2008r2_par", "sql_server_2012", "sql_server_2012_par", "sql_server_2014", "sql_server_2016", "sql_server_2017", "sql_server_2019", "sql_server_65", "sql_server_70", "sql_server_azure", "square", "starburst", "star_rocks", "sugarcrm", "sybase_adaptive_115", "sybase_adaptive_12", "sybase_adaptive_125", "sybase_ase_15", "sybase_ase_16x", "sybase_iq112", "sybase_iq12", "sybase_iq127", "sybase_iq15", "sybase_iq151", "sybase_iq152", "sybase_iq153", "sybase_iq154", "sybase_iq16", "sybase_sql_112", "sybase_sql_any11", "tandem_mpd_42", "tandem_mpd_45", "tandem_mx1", "teamcity", "teradata_12", "teradata_120", "teradata_13", "teradata_131", "teradata_14", "teradata_141", "teradata_15", "teradata_151", "teradata_160", "teradata_17", "teradata_ntv2r2", "teradata_ntv2r3", "teradata_v2r1", "teradata_v2r20002", "teradata_v2r21", "teradata_v2r3", "teradata_v2r4", "teradata_v2r41", "teradata_v2r5", "teradata_v2r51", "teradata_v2r6", "teradata_v2r61", "teradata_v2r62", "spark_sql3x", "alloydb", "trino", "palantir_foundry", "dremio", "sap_datasphere", "vector_wise15", "vector_wise20x", "vector_wise3x", "vertica_25", "vertica_30", "vertica_40", "vertica_5051", "vertica_60", "xquery", "xquery_bi", "yellowbrick", "cloud_gateway_sharepoint_v1", "cloud_gateway_adobe_analytics_v1", "python_query", "cloud_gateway_jira_v1", "cloud_gateway_cognite_data_fusion_v1" ]
          },
          "connection" : {
            "$ref" : "#/components/schemas/ObjectNameIdAndEmbedded"
          },
          "embeddedConnection" : {
            "$ref" : "#/components/schemas/EmbeddedConnection"
          },
          "primaryDatasource" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "dataMartDatasource" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          }
        },
        "description" : "Database Info"
      },
      "DatasourceInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Datasource id"
          },
          "name" : {
            "type" : "string",
            "description" : "Datasource name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "datasourceType" : {
            "type" : "string",
            "description" : "Datasource type",
            "enum" : [ "reserved", "normal", "data_import", "data_import_primary", "script", "git_integration" ]
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseInfo"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "Table prefix"
          },
          "odbcVersion" : {
            "type" : "string",
            "description" : "Odbc version",
            "enum" : [ "version3x", "version2x" ]
          },
          "intermediateStoreDbName" : {
            "type" : "string",
            "description" : "Intermediate store DBName"
          },
          "intermediateStoreTableSpaceName" : {
            "type" : "string",
            "description" : "Intermediate store table space name"
          },
          "dbms" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "script" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "scriptRuntime" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "isAIDescription" : {
            "type" : "boolean",
            "description" : "Is Description generated by AI?"
          }
        }
      },
      "DatasourceLogin" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Datasource login description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          }
        },
        "description" : "Datasource Login"
      },
      "EmbeddedConnection" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Datasource connection name."
          },
          "id" : {
            "type" : "string",
            "description" : "Datasource connection id."
          },
          "description" : {
            "type" : "string",
            "description" : "Datasource connection description."
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags]https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration specifies how SQL statements will be executed on a physical database connection made using this database connection.",
            "default" : "synchronous",
            "enum" : [ "reserved", "async_connection", "async_statement", "synchronous" ]
          },
          "maxCancelAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when attempting to make a connection.",
            "format" : "int32",
            "default" : 60
          },
          "maxQueryExeTime" : {
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out. A value of -1 indicates no timeout.",
            "format" : "int32",
            "default" : -1
          },
          "maxConnectionAttemptTime" : {
            "type" : "integer",
            "description" : "Number of seconds connection attempts to be made before timing out.",
            "format" : "int32",
            "default" : 60
          },
          "connectionLifetime" : {
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime.",
            "format" : "int32",
            "default" : 36000
          },
          "connectionIdleTimeout" : {
            "type" : "integer",
            "description" : "Number of seconds before being timed out when the connection is idle.",
            "format" : "int32",
            "default" : 60
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Windows drivers.",
            "default" : "multibyte",
            "enum" : [ "multibyte", "utf8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration that specifies the encoding across connection for Unix drivers.",
            "default" : "utf8",
            "enum" : [ "multibyte", "utf8" ]
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution with this string."
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string."
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled.",
            "default" : false
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection.",
            "default" : false
          },
          "driverType" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "default" : "odbc",
            "enum" : [ "reserved", "odbc", "native" ]
          },
          "oauthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth."
          },
          "walletInfo" : {
            "type" : "string",
            "description" : "Used for wallet and certification."
          },
          "iam" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "resource" : {
            "type" : "string",
            "description" : "The url of configured Web API for OAuth authentication usage."
          },
          "scope" : {
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting."
          },
          "enableSso" : {
            "type" : "boolean",
            "description" : "Specifies whether to use Single Sign-On.",
            "default" : false
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
              "example" : "{\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"\",\"TrustStorePassword\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "KeyStorePassword" : "",
              "TrustStorePassword" : ""
            }
          },
          "oauthGrantType" : {
            "type" : "string",
            "description" : "Specifies the grant type for OAuth.",
            "default" : "authorization_code",
            "enum" : [ "authorization_code", "client_credentials" ]
          },
          "login" : {
            "$ref" : "#/components/schemas/ObjectNameIdAndEmbedded"
          },
          "embeddedLogin" : {
            "$ref" : "#/components/schemas/DatasourceLogin"
          }
        },
        "description" : "Embedded database connection"
      },
      "ObjectNameIdAndEmbedded" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "isEmbedded" : {
            "type" : "boolean",
            "description" : "Whether the object is an embedded object or not"
          }
        },
        "description" : "Database login identity"
      },
      "DatabaseUpdateInfo" : {
        "type" : "object",
        "properties" : {
          "connection" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "primaryDatasource" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "dataMartDatasource" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "embeddedConnection" : {
            "$ref" : "#/components/schemas/EmbeddedConnectionCreationInfo"
          }
        },
        "description" : "Database Info"
      },
      "DatasourceLoginCreation" : {
        "type" : "object",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/DatasourceLoginCreationInfo"
        }, {
          "$ref" : "#/components/schemas/DatasourceVaultSecretLoginCreationInfo"
        } ]
      },
      "DatasourceUpdateInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Datasource name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "datasourceType" : {
            "type" : "string",
            "description" : "Datasource type",
            "enum" : [ "reserved", "normal", "data_import", "data_import_primary", "script", "git_integration" ]
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseUpdateInfo"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "Table prefix"
          },
          "odbcVersion" : {
            "type" : "string",
            "description" : "Odbc version",
            "enum" : [ "version3x", "version2x" ]
          },
          "intermediateStoreDbName" : {
            "type" : "string",
            "description" : "Intermediate store DBName"
          },
          "intermediateStoreTableSpaceName" : {
            "type" : "string",
            "description" : "intermediate store table space name"
          },
          "dbms" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "scriptRuntime" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          }
        }
      },
      "EmbeddedConnectionCreationInfo" : {
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Datasource connection description."
          },
          "executionMode" : {
            "type" : "string",
            "description" : "Enumeration used to specify how SQL statements will be executed on a physical database connection made using this database connection.",
            "default" : "synchronous",
            "enum" : [ "reserved", "async_connection", "async_statement", "synchronous" ]
          },
          "maxCancelAttemptTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is attempting to cancel a connection.",
            "format" : "int32",
            "default" : 60
          },
          "maxQueryExeTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds during which a query must be executed before being timed out. A value of -1 indicates no timeout.",
            "format" : "int32",
            "default" : -1
          },
          "maxConnectionAttemptTime" : {
            "maximum" : 10000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds connection attempts to be made before timing out.",
            "format" : "int32",
            "default" : 60
          },
          "connectionLifetime" : {
            "maximum" : 999999,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds of the connection lifetime.",
            "format" : "int32",
            "default" : 36000
          },
          "connectionIdleTimeout" : {
            "maximum" : 99999,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Number of seconds before the connection is timed out when it is idle.",
            "format" : "int32",
            "default" : 60
          },
          "charEncodingWindows" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Windows drivers.",
            "default" : "multibyte",
            "enum" : [ "multibyte", "utf8" ]
          },
          "charEncodingUnix" : {
            "type" : "string",
            "description" : "Enumeration used to specify the encoding across the connection for Unix drivers.",
            "default" : "utf8",
            "enum" : [ "multibyte", "utf8" ]
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "String prefixed to the names of all temporary tables created by the Query Engine for this connection during report execution."
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string."
          },
          "parameterizedQueries" : {
            "type" : "boolean",
            "description" : "Specifies whether parameterized queries are enabled.",
            "default" : false
          },
          "extendedFetch" : {
            "type" : "boolean",
            "description" : "Specifies whether or not to use the extended fetch ODBC call to retrieve data from the database connection.",
            "default" : false
          },
          "driverType" : {
            "type" : "string",
            "description" : "Drivers used for database connection.",
            "default" : "odbc",
            "enum" : [ "reserved", "odbc", "native" ]
          },
          "oauthParameter" : {
            "type" : "string",
            "description" : "Used for authentication with oAuth"
          },
          "wallet" : {
            "$ref" : "#/components/schemas/Wallet"
          },
          "iam" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "resource" : {
            "type" : "string",
            "description" : "The url of configured Web API for OAuth authentication usage."
          },
          "scope" : {
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting."
          },
          "enableSso" : {
            "type" : "boolean",
            "description" : "Specifies whether to use Single Sign-On.",
            "default" : false
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/EncryptedObjectString"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"abc\",\"TrustStorePassword\":\"abc\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "KeyStorePassword" : "abc",
              "TrustStorePassword" : "abc"
            }
          },
          "oauthGrantType" : {
            "type" : "string",
            "description" : "Specifies the grant type for OAuth.",
            "default" : "authorization_code",
            "enum" : [ "authorization_code", "client_credentials" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Datasource connection name."
          },
          "database" : {
            "$ref" : "#/components/schemas/EmbeddedDatabaseConnectionInfo"
          }
        },
        "description" : "Embedded connection information."
      },
      "EmbeddedDatabaseConnectionInfo" : {
        "type" : "object",
        "properties" : {
          "embeddedLogin" : {
            "$ref" : "#/components/schemas/DatasourceLoginCreation"
          },
          "type" : {
            "type" : "string",
            "description" : "Database connection type. Data type for the values in the column. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). For example, 100 for Access, 200 for Oracle, 300 for SQLServer and so on",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "version" : {
            "type" : "string",
            "description" : "Database version",
            "enum" : [ "default", "reserved", "access_20", "access_2000", "access_2002", "access_2003", "access_2007", "access_70", "actian_vector_4x", "adabase_d6112", "altibase_63x", "amazon_athena_1", "amazon_aurora_1", "amazon_aurora_postgres_compatible", "amazon_document_db", "amazon_dynamno_db", "amazon_redshift", "apache_spark_15", "apache_spark_1x", "arcadia_platform1", "astern_cluster_30", "astern_cluster_40", "astern_cluster_45", "astern_cluster_46", "astern_cluster_50", "astern_cluster_51", "astern_cluster_6", "azure_synapse_analytics", "big_data_engine_1", "calpont_infini_db", "cassandra_2x", "cassandra_3", "cisco_data_virtualization_7x", "click_house", "cloud_gateway_aws_s3_v1", "cloud_gateway_azure_adls2d_v1", "cloud_gateway_google_cloud_storage_v1", "cloud_gateway_v1", "composite_450", "composite_510", "composite_6x", "concur", "connection_cloud1", "databricks", "data_direct_cloud", "datallegro_3x", "cirro_1x", "db_sap_hana1", "denodo_7x", "elasticsearch", "eloqua", "enterprise_db9x", "exasol", "exa_solution3x", "exa_solution40", "exa_solution_5x", "excel_2003", "financial_force", "gbase_8a", "github", "google_big_query", "google_cloud_spanner", "greenplum_3x", "greenplum_4x", "hive_010", "hive_011", "hive_012", "hive_013", "hive_014", "hive_05", "hive_06", "hive_07", "hive_08", "hive_09", "hive_2x", "hive_3x", "hive_duplicate_11x", "hive_thrift", "hive_thrift_08", "hive_thrift_09", "hp_neoview_20", "hp_neoview_22", "hp_neoview_23", "hp_neoview_24", "hp_neoview_25", "hp_vertica_7x", "hubspot", "ibm_big_insights_2x", "ibm_db2_105", "ibm_db2_11forzos", "ibm_db2_400v3r7", "ibm_db2_400v4r1", "ibm_db2_400v4r2", "ibm_db2_400v4r3", "ibm_db2_400v4r4", "ibm_db2_400v4r5", "ibm_db2_400v5r1", "ibm_db2_400v5r2", "ibm_db2_400_v5r4", "ibm_db2_400_v6r1", "ibm_db2_400v7r1", "ibm_db2_cs212", "ibm_db2_os39041", "ibm_db2_os39050", "ibm_db2_os39062", "ibm_db2_os3907", "ibm_db2_os3908", "ibm_db2_pe12", "ibm_info_sphere_big_insights_3x", "ibm_integrated_analytics", "ibm_ips", "ibm_netezza_71x", "ibm_netezza_72x", "ibm_udb_101", "ibm_udb_111", "ibm_udb_52", "ibm_udb_61", "ibm_udb_7", "ibm_udb_8", "ibm_udb_91", "ibm_udb_91zos", "ibm_udb_95", "ibm_udb_97", "ibm_udbeee_50", "ibm_udbsmp_50", "ibm_udb_v10zos", "imdb", "impala_1x", "impala_20", "impala_3x", "infobright_33", "infobright_40", "informatica_91x", "informatica_95", "informatica_96x", "informix_10", "informix_ids_10", "informix_ids_10x11x", "informix_ids_115", "informix_ids_117", "informix_ids12", "informix_ids93", "informix_ids94", "informix_ods724uc1", "informix_ods731", "informix_udo92", "informix_xps82", "informix_xps83", "ingres_10s", "jira", "kafka", "kognitio_7x", "kognitio_8x", "kyvos", "mapd", "maprdrill", "mapr_drill_1x", "maria_db_10x", "maria_db_5x", "marketo", "mark_logic_7x", "mdx_essbase_hyperion", "mdx_essbase_hyperion_11x", "mdx_essbase_hyperion_9", "mdx_essbase_hyperion_9x", "mdx_microsoft_as2000", "mdx_microsoft_as2005", "mdx_microsoft_as2008", "mdx_microsoft_as2016_binary_connector", "mdx_microsoft_as2017_binary_connector", "mdx_microsoft_azure_binary_connector", "mdx_microsoft_as2019_binary_connector", "mdx_microsoft_asfabric_binary_connector", "mdx_ms_as20052008", "mdx_ms_as2012", "mdx_ms_as2012", "mdx_oracle_essbase93", "mdxsapbw30", "mdxsapbw7x", "mdx_sap_hana_2x", "mdxtm1x", "mem_sql_26", "metamatrix_55", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "microsoft_fabric_lakehouse", "mongo_db_2x", "mongo_db_3x", "strategy", "mstr_data_import_server_1", "my_sql_50", "my_sql_51", "mysql_8x", "mysql_9x", "neo4j", "netezza_22", "netezza_25", "netezza_3", "netezza_30", "netezza_4", "netezza_40", "netezza_46", "netezza_4xdblytix10", "netezza_50", "netezza_60", "netezza_70", "odata", "open_access_14", "oracle_21c", "oracle_10g", "oracle_10gr2", "oracle_11g", "oracle_11gr2", "oracle_122", "oracle_12c", "oracle_18c", "oracle_19c", "oracle_733", "oracle_8003", "oracle_805", "oracle_8i", "oracle_8ir2", "oracle8ir2se", "oracle_8ir3", "oracle_9i", "oracle_cx_sales", "oracle_cx_service", "par_accel_2x", "par_accel_3", "par_accel_31x", "par_accel_35", "par_accel_40", "par_accel_50x", "par_accel_51x", "par_stream3x", "paypal", "phoenix_3x", "phoenix_4x", "pig_apache", "pivotal_greenplum", "pivotal_hawq_2x", "pivotal_hawq_3x", "postgre_sql_81", "postgre_sql_82", "postgre_sql_83", "postgre_sql_84", "postgre_sql_90", "postgre_sql_91", "presto", "python", "red_brick_5007", "red_brick_5012", "red_brick_5105", "red_brick_6", "red_brick_61", "red_brick_62", "red_brick_63", "salesforce", "sandcdbms_61", "sandcdbms_71", "sap_bw_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana1_sp5", "sap_hana1_sp7", "sap_hana1_sp8", "sap_hana1_sp9", "sap_hana_2", "sap_s4_hana", "servicemax", "servicenow", "shopify", "snowflake_1x", "solr_search", "spark_shark_09x", "spark_sql_2x", "splunk_6", "sql_denodo_50", "sql_server_2000", "sql_server_2005", "sql_server_2008", "sql_server_2008_native_client", "sql_server_2008r2_par", "sql_server_2012", "sql_server_2012_par", "sql_server_2014", "sql_server_2016", "sql_server_2017", "sql_server_2019", "sql_server_65", "sql_server_70", "sql_server_azure", "square", "starburst", "star_rocks", "sugarcrm", "sybase_adaptive_115", "sybase_adaptive_12", "sybase_adaptive_125", "sybase_ase_15", "sybase_ase_16x", "sybase_iq112", "sybase_iq12", "sybase_iq127", "sybase_iq15", "sybase_iq151", "sybase_iq152", "sybase_iq153", "sybase_iq154", "sybase_iq16", "sybase_sql_112", "sybase_sql_any11", "tandem_mpd_42", "tandem_mpd_45", "tandem_mx1", "teamcity", "teradata_12", "teradata_120", "teradata_13", "teradata_131", "teradata_14", "teradata_141", "teradata_15", "teradata_151", "teradata_160", "teradata_17", "teradata_ntv2r2", "teradata_ntv2r3", "teradata_v2r1", "teradata_v2r20002", "teradata_v2r21", "teradata_v2r3", "teradata_v2r4", "teradata_v2r41", "teradata_v2r5", "teradata_v2r51", "teradata_v2r6", "teradata_v2r61", "teradata_v2r62", "spark_sql3x", "alloydb", "trino", "palantir_foundry", "dremio", "sap_datasphere", "vector_wise15", "vector_wise20x", "vector_wise3x", "vertica_25", "vertica_30", "vertica_40", "vertica_5051", "vertica_60", "xquery", "xquery_bi", "yellowbrick", "cloud_gateway_sharepoint_v1", "cloud_gateway_adobe_analytics_v1", "python_query", "cloud_gateway_jira_v1", "cloud_gateway_cognite_data_fusion_v1" ]
          }
        },
        "description" : "Embedded database info."
      },
      "DatasourceLoginImpl" : {
        "required" : [ "id", "name", "username" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Datasource login description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "username" : {
            "type" : "string",
            "description" : "Username used to connect to the database"
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as refresh tokens, client secrets or other password-like values. It is defined as a json object , such as {\"RefreshToken\":\"\",\"ClientSecret\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
              "example" : "{\"RefreshToken\":\"\",\"ClientSecret\":\"\"}"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as refresh tokens, client secrets or other password-like values. It is defined as a json object , such as {\"RefreshToken\":\"\",\"ClientSecret\":\"\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "RefreshToken" : "",
              "ClientSecret" : ""
            }
          }
        }
      },
      "DatasourceVaultSecretLoginImpl" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Datasource login description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "standard", "vaultSecret" ]
          },
          "secretName" : {
            "type" : "string"
          },
          "vaultId" : {
            "type" : "string"
          },
          "vaultName" : {
            "type" : "string"
          }
        }
      },
      "DatasourceLoginCreationInfo" : {
        "required" : [ "password", "username" ],
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Datasource login description"
          },
          "username" : {
            "type" : "string",
            "description" : "Username used to connect to the datasource"
          },
          "password" : {
            "type" : "string",
            "description" : "Password of the user"
          },
          "extraSensitiveFields" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/EncryptedObjectString"
            },
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as refresh tokens, client secrets or other password-like values. It is defined as a json object , such as {\"RefreshToken\":\"tokenValue\",\"ClientSecret\":\"secret\"}. and these key-values will be  appended to the connection string at connection time.",
            "example" : {
              "RefreshToken" : "tokenValue",
              "ClientSecret" : "secret"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Datasource login name"
          }
        }
      },
      "DatasourceVaultSecretLoginCreationInfo" : {
        "required" : [ "secretName" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "vaultId" : {
            "type" : "string"
          },
          "secretName" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "standard", "vaultSecret" ]
          }
        }
      },
      "DataSourceScriptRequestInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Script description"
          },
          "scriptContent" : {
            "type" : "string",
            "description" : "Script content"
          },
          "scriptRuntimeId" : {
            "type" : "string",
            "description" : "Script runtime id"
          },
          "variables" : {
            "type" : "array",
            "description" : "Script variables",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariable"
            }
          },
          "datasourceType" : {
            "type" : "string",
            "description" : "Datasource type",
            "enum" : [ "reserved", "normal", "data_import", "data_import_primary", "script", "git_integration" ]
          }
        }
      },
      "ObjectReference" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "object id"
          },
          "type" : {
            "type" : "integer",
            "description" : "object type",
            "format" : "int32"
          }
        },
        "description" : "the object reference to the variable"
      },
      "ScriptVariable" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "variable id, must be GUID"
          },
          "name" : {
            "type" : "string",
            "description" : "variable name"
          },
          "type" : {
            "type" : "string",
            "description" : "variable type",
            "enum" : [ "0", "1", "2", "3", "4", "5", "4106", "32769" ]
          },
          "value" : {
            "type" : "string",
            "description" : "variable value"
          },
          "desc" : {
            "type" : "string",
            "description" : "description"
          },
          "multiple" : {
            "type" : "boolean",
            "description" : "whether the variable has multiple values",
            "default" : false
          },
          "prompt" : {
            "type" : "boolean",
            "description" : "whether to prompt the user to answer",
            "default" : true
          },
          "transactionColumn" : {
            "type" : "boolean",
            "description" : "whether current variable is used for transaction input column",
            "default" : false
          },
          "nullable" : {
            "type" : "boolean",
            "description" : "whether NULL is permitted within the column, this property only valid when the transactionColumn is true",
            "default" : false
          },
          "required" : {
            "type" : "boolean",
            "description" : "whether this column is required, this property only valid when the transactionColumn is true",
            "default" : false
          },
          "editable" : {
            "type" : "boolean",
            "description" : "whether this column is editable, this property only valid when the transactionColumn is true",
            "default" : true
          },
          "objectRef" : {
            "$ref" : "#/components/schemas/ObjectReference"
          },
          "secretValueInput" : {
            "type" : "boolean",
            "description" : "whether the secret value is updated"
          }
        },
        "description" : "Script variables"
      },
      "ConnectionMaps" : {
        "type" : "object",
        "properties" : {
          "mappings" : {
            "type" : "array",
            "description" : "Connection Maps",
            "items" : {
              "$ref" : "#/components/schemas/ConnectionMap"
            }
          }
        }
      },
      "ScriptDetailInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "scriptContent" : {
            "type" : "string",
            "description" : "Script content"
          },
          "scriptType" : {
            "type" : "string",
            "description" : "Script type",
            "enum" : [ "reserved", "python", "jupyterNotebook" ]
          },
          "scriptRuntimeId" : {
            "type" : "string",
            "description" : "Script runtime id"
          },
          "variables" : {
            "type" : "array",
            "description" : "Script variables",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariable"
            }
          },
          "scriptResultType" : {
            "type" : "string",
            "description" : "Script result type",
            "enum" : [ "unknown", "reserved", "text", "numerical", "date" ]
          }
        }
      },
      "ScriptDetailInfos" : {
        "type" : "object",
        "properties" : {
          "scripts" : {
            "type" : "array",
            "description" : "List of scripts",
            "items" : {
              "$ref" : "#/components/schemas/ScriptDetailInfo"
            }
          }
        }
      },
      "ConnectionsInfo" : {
        "type" : "object",
        "properties" : {
          "connections" : {
            "type" : "array",
            "description" : "List of connections",
            "items" : {
              "$ref" : "#/components/schemas/ConnectionInfo"
            }
          }
        }
      },
      "DatabaseSourceName" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Database source name"
          },
          "description" : {
            "type" : "string",
            "description" : "Database source description"
          }
        },
        "description" : "List of database source names"
      },
      "DatabaseSourceNameList" : {
        "type" : "object",
        "properties" : {
          "databaseSourceNames" : {
            "type" : "array",
            "description" : "List of database source names",
            "items" : {
              "$ref" : "#/components/schemas/DatabaseSourceName"
            }
          }
        }
      },
      "DatasourceLoginUserName" : {
        "required" : [ "username" ],
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string"
          }
        }
      },
      "DatasourceLogins" : {
        "type" : "object",
        "properties" : {
          "logins" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceLogin"
            }
          }
        }
      },
      "DatasourceAssignmentsInfo" : {
        "type" : "object",
        "properties" : {
          "projects" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ProjectNameInfo"
            }
          }
        }
      },
      "ProjectNameInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "isDataSourcePrimaryForTheProject" : {
            "type" : "boolean",
            "description" : "Indicates if the current Datasource is a primary Datasource for the project"
          }
        }
      },
      "Datasources" : {
        "type" : "object",
        "properties" : {
          "datasources" : {
            "type" : "array",
            "description" : "List of datasources",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceInfo"
            }
          }
        }
      },
      "JobDispatchRule" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the rule"
          },
          "priority" : {
            "maximum" : 1000,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Priority assigned to a job if it matches this rule",
            "format" : "int32"
          },
          "projectId" : {
            "type" : "string",
            "description" : "One factor of criteria: job of project"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Name of project"
          },
          "userOrGroupId" : {
            "type" : "string",
            "description" : "One factor of criteria: job by user or user in usergroup"
          },
          "userOrGroupName" : {
            "type" : "string",
            "description" : "Name of user or user grouop"
          },
          "reportCostLowerLimit" : {
            "maximum" : 1000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "One factor of criteria: report cost lower/upper bound",
            "format" : "int32"
          },
          "reportCostUpperLimit" : {
            "maximum" : 1000,
            "minimum" : -1,
            "type" : "integer",
            "description" : "One factor of criteria: report cost lower/upper bound",
            "format" : "int32"
          },
          "requestType" : {
            "type" : "string",
            "description" : "One factor of criteria: request type as defined in EnumRequestType(ANY, REPORT, OBJECT, ELEMENTS, DOCUMENT, BATCH",
            "enum" : [ "any", "element", "report" ]
          },
          "applicationType" : {
            "type" : "string",
            "description" : "One factor of criteria: client application type, allowable values from [EnumDSSXMLApplicationType](https://lw.microstrategy.com/msdz/MSDL/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html) by removing prefix 'DssXmlApplication', e.g. \"DSSWeb\" for DssXmlApplicationDSSWeb, except following: Office replaced by Developer, DossierWeb by MicroStrategyLibrary, DssWeb by MicroStrategyWeb, Product01 by MicroStrategyApplication",
            "enum" : [ "any", "developer", "web", "scheduler", "narrowcast_server", "library", "library_ios", "workstation", "library_android", "tableau", "power_bi", "microsoft_powerpoint", "microsoft_excel", "python", "google_sheets", "google_slides", "hyper", "mosaic" ]
          }
        },
        "description" : "Information on rules to dispatch jobs into different job queues. An instance of this class defines one rule to assign priority to a job based on request type, report cost, project, user or group, application"
      },
      "JobPriority" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of this prioritization job queue."
          },
          "lowerBound" : {
            "type" : "integer",
            "description" : "Priority lower bound",
            "format" : "int32"
          },
          "upperBound" : {
            "type" : "integer",
            "description" : "Priority upper bound",
            "format" : "int32"
          },
          "threadCount" : {
            "type" : "integer",
            "description" : "Thread count of this job queue",
            "format" : "int32"
          },
          "maxThreadCount" : {
            "type" : "integer",
            "description" : "Maximum thread count of this job queue",
            "format" : "int32"
          },
          "minThreadCount" : {
            "type" : "integer",
            "description" : "Minimum thread count of this job queue",
            "format" : "int32"
          },
          "jobQueues" : {
            "type" : "array",
            "description" : "List of sub-queues",
            "items" : {
              "$ref" : "#/components/schemas/JobPriority"
            }
          },
          "members" : {
            "$ref" : "#/components/schemas/JobPriorityMembers"
          }
        },
        "description" : "Job prioritization info. Any job falling within this job queue can further be dispatched into sub-queues defined in jobQueues. If this is the root queue, all jobs are go through this to its sub-queues. So this is recursive structure and root job prioritization always has it's sub-queues. Each queue has name, priority lower bound(lowerBound), priority upper bound(upperBound), threadCounts(Currently the same for all to mimic Developer behavior), and job priority members(members) which defines rules to dispatch jobs to sub-queues"
      },
      "JobPriorityMembers" : {
        "type" : "object",
        "properties" : {
          "elements" : {
            "type" : "array",
            "description" : "List of job dispatch rules",
            "items" : {
              "$ref" : "#/components/schemas/JobDispatchRule"
            }
          },
          "defaultPriority" : {
            "type" : "integer",
            "description" : "default priority for job which does not match any rule",
            "format" : "int32"
          },
          "costThreshold" : {
            "type" : "array",
            "description" : "The report cost threshold.",
            "items" : {
              "type" : "integer",
              "description" : "The report cost threshold.",
              "format" : "int32"
            }
          }
        },
        "description" : "Information on rules to dispatch jobs into different job queues. The property elements contains the list of rules. If a job matches no rule in elements, default priority is used"
      },
      "ExecutionResult" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "description" : "result table",
              "items" : {
                "type" : "object",
                "description" : "result table"
              }
            },
            "description" : "result table"
          },
          "schema" : {
            "$ref" : "#/components/schemas/TableSchema"
          }
        },
        "description" : "query execution result"
      },
      "SqlExecutionResult" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "the execution status",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "the error message"
          },
          "results" : {
            "$ref" : "#/components/schemas/ExecutionResult"
          }
        }
      },
      "DatasourceType" : {
        "type" : "object",
        "properties" : {
          "databaseType" : {
            "type" : "string",
            "description" : "Name of the database type",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "dbmsType" : {
            "type" : "integer",
            "description" : "Id of the datasource",
            "format" : "int32"
          },
          "version" : {
            "type" : "array",
            "description" : "Versions of the datasource",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceVersion"
            }
          }
        },
        "description" : "List of datasource types"
      },
      "DatasourceTypes" : {
        "type" : "object",
        "properties" : {
          "datasourceTypes" : {
            "type" : "array",
            "description" : "List of datasource types",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceType"
            }
          }
        }
      },
      "DatasourceVersion" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "Id of the version",
            "format" : "int32"
          },
          "dbmsId" : {
            "type" : "string",
            "description" : "Id of the DBMS"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the version"
          }
        },
        "description" : "Versions of the datasource"
      },
      "TaskCreatedResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "the task id"
          }
        }
      },
      "SqlExecutionInfo" : {
        "required" : [ "query" ],
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string",
            "description" : "the query to be executed, it should be base64 encoded"
          }
        }
      },
      "SearchResultInfo" : {
        "title" : "Search Result Info",
        "required" : [ "result", "totalItems" ],
        "type" : "object",
        "properties" : {
          "totalItems" : {
            "type" : "integer",
            "description" : "Total number of items in results",
            "format" : "int32"
          },
          "subtypeTotalCounts" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "description" : "Map of subtype to their total counts in the search results",
              "format" : "int64"
            },
            "description" : "Map of subtype to their total counts in the search results"
          },
          "result" : {
            "type" : "array",
            "description" : "Results of the search",
            "items" : {
              "$ref" : "#/components/schemas/ObjectInfo"
            }
          }
        },
        "description" : "Results of a search that can be incrementally fetched."
      },
      "ConnectionTestInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Database connection id."
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Database connection string."
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseTestInfo"
          },
          "wallet" : {
            "$ref" : "#/components/schemas/Wallet"
          },
          "extraSensitiveFields" : {
            "type" : "string",
            "description" : "ExtraSensitiveFields holds values for sensitive connection string parameters such as keyStore password, trustStore password or other password-like values. It is defined as a json object , such as {\"KeyStorePassword\":\"abc\",\"TrustStorePassword\":\"abc\"}. and these key-values will be  appended to the connection string at connection time."
          }
        }
      },
      "DatabaseTestInfo" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "login" : {
            "$ref" : "#/components/schemas/ILoginTestInfo"
          },
          "type" : {
            "type" : "string",
            "description" : "Database connection type. Data type for the values in the column. Possible values can be found in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). For example, 100 for Access, 200 for Oracle, 300 for SQLServer and so on",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          }
        },
        "description" : "Database info."
      },
      "ILoginTestInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          }
        },
        "description" : "Database login information. either existing login object id or {username,password} or {secretName,vaultId}",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/StandardLoginTestInfo"
        }, {
          "$ref" : "#/components/schemas/VaultSecretLoginTestInfo"
        } ]
      },
      "StandardLoginTestInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Database login object id"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "standard", "vaultSecret" ]
          },
          "username" : {
            "type" : "string",
            "description" : "Username used to connect to the database"
          },
          "password" : {
            "type" : "string",
            "description" : "Password of the user"
          }
        }
      },
      "VaultSecretLoginTestInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Database login object id"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "standard", "vaultSecret" ]
          },
          "secretName" : {
            "type" : "string",
            "description" : "Secret name, used to retrieve the secrets from vault"
          },
          "vaultId" : {
            "type" : "string",
            "description" : "vault connection id, used to retrieve the secrets from vault"
          }
        }
      },
      "ConnectionPatchOperationTestInfo" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/connectionString",
            "enum" : [ "/connectionString", "/database/type", "/database/login", "/database/login/id", "/wallet", "/extraSensitiveFields" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "new connection string"
          }
        }
      },
      "PatchOperationsConnectionPatchOperationTestInfo" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ConnectionPatchOperationTestInfo"
            }
          }
        }
      },
      "EmbeddedConnectionPatchOperationTestInfo" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/database/embeddedConnection/connectionString",
            "enum" : [ "/database/type", "/database/embeddedConnection/connectionString", "/database/embeddedConnection/wallet", "/database/embeddedConnection/extraSensitiveFields", "/database/embeddedConnection/embeddedLogin/username", "/database/embeddedConnection/embeddedLogin/password", "/database/embeddedConnection/embeddedLogin/extraSensitiveFields", "/database/embeddedConnection/embeddedLogin/secretName", "/database/embeddedConnection/embeddedLogin/vaultId", "/database/embeddedConnection/embeddedLogin/type" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "new connection string"
          }
        }
      },
      "PatchOperationsEmbeddedConnectionPatchOperationTestInfo" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/EmbeddedConnectionPatchOperationTestInfo"
            }
          }
        }
      },
      "DatasourceAiDescription" : {
        "type" : "object",
        "properties" : {
          "desc" : {
            "type" : "string",
            "description" : "Datasource description"
          }
        }
      },
      "ConnectionPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/charEncodingWindows",
            "enum" : [ "/name", "/description", "/executionMode", "/maxCancelAttemptTime", "/maxQueryExeTime", "/maxConnectionAttemptTime", "/connectionLifetime", "/connectionIdleTimeout", "/charEncodingWindows", "/charEncodingUnix", "/tablePrefix", "/connectionString", "/parameterizedQueries", "/extendedFetch", "/database/type", "/database/version", "/database/login/id", "/driverType", "/wallet", "/oauthParameter", "/iam/id", "/resource", "/scope", "/enableSso", "/extraSensitiveFields", "/oauthGrantType" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "multibyte"
          }
        }
      },
      "PatchOperationsConnectionPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ConnectionPatchOperation"
            }
          }
        }
      },
      "DatasourceLoginPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/password",
            "enum" : [ "/name", "/username", "/password", "/description", "/extraSensitiveFields" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "newPassword"
          }
        }
      },
      "PatchOperationsDatasourceLoginPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceLoginPatchOperation"
            }
          }
        }
      },
      "DatasourceProjectPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add or Remove operation to be performed",
            "example" : "remove",
            "enum" : [ "remove", "add" ]
          },
          "path" : {
            "pattern" : "/projects",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/projects",
            "enum" : [ "/projects" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "PatchOperationsDatasourceProjectPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DatasourceProjectPatchOperation"
            }
          }
        }
      },
      "JobPrioritizationPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "addElement", "removeElement", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/jobQueues/high/threadCount",
            "enum" : [ "/jobQueues/{name}/threadCount", "/members/{name}/priority" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : 20
          }
        },
        "description" : "Operations supported: 1. add/remove element to members: op--addElement/removeElement, path--/members/Elements, value--\n      For remove--member name; For add--Definition of element, including name, priority and matching criteria\n2. replace element priority: op--replace, path--/members/{memberName}/priority, value--integral value 1-999 of priority3. replace job queue thread count: op--replace, path--/jobQueues/{queueName}/threadCount, value--integer"
      },
      "PatchOperationsJobPrioritizationPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/JobPrioritizationPatchOperation"
            }
          }
        }
      },
      "WalletServices" : {
        "type" : "object",
        "properties" : {
          "cn" : {
            "type" : "integer",
            "format" : "int32",
            "writeOnly" : true
          },
          "total" : {
            "type" : "integer",
            "format" : "int32"
          },
          "serviceList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "services" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Wallet services"
      },
      "WalletServicesInfo" : {
        "type" : "object",
        "properties" : {
          "expirationDate" : {
            "type" : "string",
            "description" : "Expiration date of wallet"
          },
          "etm" : {
            "type" : "string",
            "description" : "Expiration date of wallet"
          },
          "service_list" : {
            "$ref" : "#/components/schemas/WalletServices"
          },
          "services" : {
            "$ref" : "#/components/schemas/WalletServices"
          }
        }
      },
      "WalletUploadInfo" : {
        "required" : [ "walletBinaryInBase64", "walletName" ],
        "type" : "object",
        "properties" : {
          "walletName" : {
            "pattern" : "^[\\w,\\s-]+\\.zip$",
            "type" : "string",
            "description" : "Used to assign the name for wallet",
            "example" : "Wallet_DB.zip"
          },
          "walletBinaryInBase64" : {
            "pattern" : "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
            "type" : "string",
            "description" : "Used for uploading wallet and certificate. Provide binaries. Should be Base64 encoded.",
            "example" : "YjE="
          }
        }
      },
      "DbLoginCreationInfo" : {
        "required" : [ "login", "name", "password" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name for the database login in the metadata"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "login" : {
            "type" : "string",
            "description" : "Login name used to connect to the database"
          },
          "password" : {
            "type" : "string",
            "description" : "Login password used to connect to the database"
          }
        }
      },
      "DbLoginInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "login" : {
            "type" : "string",
            "description" : "Login name used to connect to the database"
          }
        }
      },
      "DependentSubscription" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the subscription"
          },
          "multipleContents" : {
            "type" : "boolean",
            "description" : "Whether the subscription has multiple contents"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the subscription"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the subscription, yyyy-MM-dd'T'HH:mm:ss.SSSZ in UTC",
            "format" : "date-time"
          },
          "owner" : {
            "$ref" : "#/components/schemas/Owner"
          },
          "schedules" : {
            "type" : "array",
            "description" : "Schedule that executes the subscription",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionSchedule"
            }
          },
          "recipients" : {
            "type" : "array",
            "description" : "Recipients of the subscription",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionRecipient"
            }
          },
          "contents" : {
            "type" : "array",
            "description" : "Content that is distributed with the subscription",
            "items" : {
              "$ref" : "#/components/schemas/DependentSubscriptionContent"
            }
          },
          "delivery" : {
            "$ref" : "#/components/schemas/SimpleDeliveryProperties"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "alert" : {
            "type" : "boolean",
            "description" : "Whether this is an alert subscription"
          },
          "nextDelivery" : {
            "type" : "string",
            "description" : "Next occurrence of the subscription yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          }
        },
        "description" : "List of dependent subscriptions"
      },
      "DependentSubscriptionContent" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the component"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the component",
            "readOnly" : true
          },
          "personalization" : {
            "$ref" : "#/components/schemas/DependentSubscriptionContentProperties"
          },
          "projectId" : {
            "type" : "string",
            "description" : "The project ID to which the content belongs"
          }
        },
        "description" : "Content that is distributed with the subscription"
      },
      "DependentSubscriptionContentProperties" : {
        "type" : "object",
        "properties" : {
          "contentModes" : {
            "type" : "array",
            "description" : "Content modes, currently it supports normal and bookmark. Default value is normal.",
            "items" : {
              "type" : "string",
              "description" : "Content modes, currently it supports normal and bookmark. Default value is normal.",
              "enum" : [ "normal", "base", "bookmark", "latest" ]
            }
          },
          "bookmarkIds" : {
            "type" : "array",
            "description" : "When contentModes contains bookmark mode, bookmarkIds must be set.",
            "items" : {
              "type" : "string",
              "description" : "When contentModes contains bookmark mode, bookmarkIds must be set."
            }
          }
        },
        "description" : "Personalization settings"
      },
      "DependentSubscriptions" : {
        "type" : "object",
        "properties" : {
          "subscriptions" : {
            "type" : "array",
            "description" : "List of dependent subscriptions",
            "items" : {
              "$ref" : "#/components/schemas/DependentSubscription"
            }
          }
        }
      },
      "Owner" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Owner ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Owner name",
            "readOnly" : true
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID of the owner",
            "readOnly" : true
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant name of the owner",
            "readOnly" : true
          }
        },
        "description" : "Owner of the schedule"
      },
      "Project" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          }
        },
        "description" : "project info"
      },
      "SimpleDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "The subscription delivery mode (i.e. email, cache, history_list, ftp, file, mobile, onedrive, sharepoint, s3, googledrive)",
            "enum" : [ "EMAIL", "FILE", "PRINTER", "HISTORY_LIST", "CACHE", "MOBILE", "FTP", "ONEDRIVE", "SHAREPOINT", "S3", "GOOGLEDRIVE", "SNAPSHOT", "PERSONAL_VIEW", "SHARED_LINK", "UNSUPPORTED" ]
          },
          "softDisabled" : {
            "type" : "boolean",
            "description" : "Whether the subscription is soft disabled",
            "example" : false
          },
          "expiration" : {
            "type" : "string",
            "description" : "Expiration date of the subscription, format is yyyy-MM-dd",
            "format" : "date-time"
          },
          "expirationTimeZone" : {
            "type" : "string",
            "description" : "The time zone of the subscription's expiration date",
            "example" : "Europe/London"
          },
          "expirationZoneOffset" : {
            "type" : "integer",
            "description" : "The time zone offset to UTC in minutes",
            "format" : "int32"
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Identifier of the application from which the subscription was created"
          }
        },
        "description" : "Delivery settings"
      },
      "SubscriptionRecipient" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the component"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the component",
            "readOnly" : true
          },
          "isGroup" : {
            "type" : "boolean",
            "description" : "Whether the recipient is a group",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the recipient",
            "enum" : [ "contact_group", "user_group", "contact", "user", "personal_address", "all_consumers", "dynamic_recipient_list", "unsupported" ]
          },
          "includeType" : {
            "type" : "string",
            "description" : "The include type of the recipient (e.g. To/CC/BCC)",
            "default" : "TO",
            "enum" : [ "TO", "CC", "BCC" ]
          },
          "childSubscriptionId" : {
            "type" : "string",
            "description" : "Identifier of the child subscription",
            "readOnly" : true
          },
          "addressId" : {
            "type" : "string",
            "description" : "Identifier of the recipient address"
          },
          "addressName" : {
            "type" : "string",
            "description" : "Name of the recipient address name",
            "readOnly" : true
          }
        },
        "description" : "Recipients of the subscription"
      },
      "SubscriptionSchedule" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the component"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the component",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Trigger type",
            "readOnly" : true,
            "enum" : [ "event_based", "time_based", "unknown" ]
          },
          "nextDelivery" : {
            "type" : "string",
            "description" : "Next occurrence of a time-based schedule, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Specifies whether the time based schedule has expired",
            "readOnly" : true,
            "default" : false
          }
        },
        "description" : "Schedule that executes the subscription"
      },
      "OnetierAccessTokenInfo" : {
        "type" : "object",
        "properties" : {
          "token" : {
            "type" : "string",
            "description" : "Access Token"
          }
        }
      },
      "OnetierDFCSchema" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Content of project information in Base64 string"
          }
        }
      },
      "OnetierProjectInfo" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Content of project information in Base64 string"
          }
        }
      },
      "OnetierSecurityFilter" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "string",
            "description" : "Content of security filter in Base64 string"
          }
        }
      },
      "UserAddress" : {
        "required" : [ "deliveryMode", "deviceId", "id", "isDefault", "name", "value" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Address ID, generated when the address is created"
          },
          "name" : {
            "type" : "string",
            "description" : "User-specified name for the address"
          },
          "deliveryMode" : {
            "type" : "string",
            "description" : "Delivery method, such as Email, File, Printer or FTP. Email is the default and is the only delivery method currently supported."
          },
          "deviceId" : {
            "type" : "string",
            "description" : "Device ID associated with this address. Each Device ID is configured for a specific type of delivery method. For example, for the Email delivery method possible types are Generic Email, Microsoft Outlook, Microsoft Outlook Express, Microsofot Outlook Web Access, and Webmail. Default and recommended value is Generic Email."
          },
          "value" : {
            "type" : "string",
            "description" : "Actual value of the address, such as the email address associated with this address name/ID"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Specifies whether this address is the default address"
          },
          "default" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        }
      },
      "DeviceRegistrationToken" : {
        "type" : "object",
        "properties" : {
          "deviceToken" : {
            "type" : "string",
            "description" : "Device token"
          }
        }
      },
      "DeviceRegistrationCreator" : {
        "required" : [ "appId", "deviceToken", "mobileType" ],
        "type" : "object",
        "properties" : {
          "deviceToken" : {
            "type" : "string",
            "description" : "Device Token value provided by APNS that identify a user mobile device"
          },
          "deviceTokenName" : {
            "type" : "string",
            "description" : "Device Token Label/Name"
          },
          "deviceId" : {
            "type" : "string",
            "description" : "Id of a MicroStrategy device used to configure how notification are sent per type of device"
          },
          "appId" : {
            "type" : "string",
            "description" : "Id of the mobile app, used to match to the right device object"
          },
          "mobileType" : {
            "type" : "string",
            "description" : "Device type",
            "enum" : [ "NONE", "IPAD", "IPHONE", "ANDROID", "EMAIL", "ALL" ]
          }
        },
        "description" : "Object used to create a device registration"
      },
      "DeviceInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          }
        }
      },
      "DimensionAnswerInfo" : {
        "type" : "object",
        "properties" : {
          "canContinue" : {
            "type" : "boolean",
            "description" : "Allow other users to add extra units to this definition"
          },
          "filterRest" : {
            "type" : "boolean",
            "description" : "Filter setting: uncheck to exclude attributes absent in report or level(dimensionality)"
          },
          "units" : {
            "type" : "array",
            "description" : "Default answer for object prompt",
            "items" : {
              "$ref" : "#/components/schemas/DimensionPromptAnswerUnit"
            }
          }
        },
        "description" : "Level prompt answers"
      },
      "DimensionPromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/PromptAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "answers" : {
              "$ref" : "#/components/schemas/DimensionAnswerInfo"
            }
          }
        } ]
      },
      "DimensionPromptAnswerUnit" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Level prompt answer unit name."
          },
          "type" : {
            "type" : "string",
            "description" : "Level prompt answer unit type.",
            "enum" : [ "unsupported", "default", "attribute", "dimension", "reportLevel", "reportBaseLevel", "role" ]
          },
          "filtering" : {
            "type" : "string",
            "description" : "Level prompt answer unit filtering.",
            "enum" : [ "standard", "absolute", "ignore", "none" ]
          },
          "groupBy" : {
            "type" : "boolean",
            "description" : "Level prompt answer groupBy"
          },
          "grouping" : {
            "type" : "string",
            "description" : "Level prompt answer unit grouping.",
            "enum" : [ "standard", "beginInFact", "endingInFact", "beginningInLookup", "endingInLookup" ]
          }
        },
        "description" : "Default answer for object prompt"
      },
      "ElementPromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/PromptAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "answers" : {
              "type" : "array",
              "description" : "Attribute Element prompt answers",
              "items" : {
                "$ref" : "#/components/schemas/PromptElements"
              }
            }
          }
        } ]
      },
      "ExpressionAnswerInfo" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "string",
            "description" : "The expression content of the answer"
          },
          "expression" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "xml" : {
            "type" : "string",
            "description" : "Expression in xml format. This field can be used to answer the prompt when the JSON format is unsupported"
          }
        },
        "description" : "Expression prompt answers"
      },
      "ExpressionPromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/PromptAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "answers" : {
              "$ref" : "#/components/schemas/ExpressionAnswerInfo"
            }
          }
        } ]
      },
      "ObjectPromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/PromptAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "answers" : {
              "type" : "array",
              "description" : "Object prompt answers",
              "items" : {
                "$ref" : "#/components/schemas/ObjectPromptGenericType"
              }
            }
          }
        } ]
      },
      "ObjectPromptGenericType" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "object",
            "description" : "Objects prompt answer unit type",
            "readOnly" : true
          }
        },
        "description" : "Object prompt answers"
      },
      "PromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unique key of the prompt, important to be used when the same prompt is present multiple times on a: report, dossier, rsd."
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID of the prompt"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the prompt"
          },
          "type" : {
            "type" : "string",
            "description" : "Prompt type",
            "enum" : [ "UNSUPPORTED", "VALUE", "ELEMENTS", "EXPRESSION", "OBJECTS", "LEVEL" ]
          },
          "useDefault" : {
            "type" : "boolean",
            "description" : "Indicate use default answer or not. If true, the values would be ignored."
          }
        },
        "description" : "Collection of prompt answers",
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "PromptAnswering" : {
        "required" : [ "prompts" ],
        "type" : "object",
        "properties" : {
          "prompts" : {
            "type" : "array",
            "description" : "Collection of prompt answers",
            "items" : {
              "$ref" : "#/components/schemas/PromptAnswer"
            }
          }
        }
      },
      "PromptElements" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the object or element, which should either be in form '<attribute ID>:<element id>' e.g 8D679D3C11D3E4981000E787EC6DE8A4:7796 or '<terse ID>;<attribute ID>:<element ID>' e.g h1;8D679D3C11D3E4981000E787EC6DE8A4:7796"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object or element"
          }
        },
        "description" : "Attribute Element prompt answers"
      },
      "ValuePromptAnswer" : {
        "required" : [ "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/PromptAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "answers" : {
              "type" : "object",
              "description" : "Constant prompt answer"
            }
          }
        } ]
      },
      "PromptAnswers" : {
        "required" : [ "key", "values" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Key of the prompt"
          },
          "values" : {
            "type" : "array",
            "description" : "Values of the prompt answers",
            "items" : {
              "type" : "string",
              "description" : "Values of the prompt answers"
            }
          },
          "useDefault" : {
            "type" : "boolean",
            "description" : "Indicate use default answer or not. If true, the values would be ignored."
          }
        },
        "description" : "List of prompt answers"
      },
      "PromptsAnswers" : {
        "type" : "object",
        "properties" : {
          "messageName" : {
            "type" : "string",
            "description" : "Report message name displayed in the history list"
          },
          "answers" : {
            "type" : "array",
            "description" : "List of prompt answers",
            "items" : {
              "$ref" : "#/components/schemas/PromptAnswers"
            }
          }
        }
      },
      "CacheInfo" : {
        "type" : "object",
        "properties" : {
          "cacheId" : {
            "type" : "string",
            "description" : "Cache ID"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Last update time",
            "format" : "date-time"
          },
          "valid" : {
            "type" : "boolean",
            "description" : "Is cache valid"
          }
        }
      },
      "Chapter" : {
        "type" : "object",
        "properties" : {
          "filtersPanelStack" : {
            "$ref" : "#/components/schemas/FiltersPanelStack"
          },
          "n" : {
            "type" : "string",
            "description" : "Chapter name"
          },
          "k" : {
            "type" : "string",
            "description" : "Chapter node key"
          },
          "pages" : {
            "type" : "array",
            "description" : "List of pages in the chapter",
            "items" : {
              "$ref" : "#/components/schemas/Page"
            }
          }
        },
        "description" : "List of chapters"
      },
      "DocumentInstanceDetails" : {
        "type" : "object",
        "properties" : {
          "mid" : {
            "type" : "string",
            "description" : "Message or instance ID of the dossier"
          },
          "status" : {
            "type" : "integer",
            "description" : "Status of the dossier instance",
            "format" : "int32"
          },
          "prompted" : {
            "type" : "boolean",
            "description" : "Is instance prompted"
          },
          "allowSkipRequiredAnswer" : {
            "type" : "integer",
            "description" : "AllowSkipRequiredAnswer property value (0=default, 1=disabled, 2=enabled)",
            "format" : "int32"
          },
          "includeValuePrompts" : {
            "type" : "boolean",
            "description" : "Is instance include any value prompts"
          },
          "promptsInfo" : {
            "type" : "array",
            "description" : "Dossier prompts information",
            "items" : {
              "$ref" : "#/components/schemas/PromptDefinition"
            }
          },
          "oid" : {
            "type" : "string",
            "description" : "Dossier object ID"
          },
          "n" : {
            "type" : "string",
            "description" : "Dossier name"
          },
          "dsc" : {
            "type" : "string",
            "description" : "Dossier description"
          },
          "prompts" : {
            "type" : "string",
            "description" : "JSON prompts data"
          },
          "keySeed" : {
            "type" : "integer",
            "description" : "Key seed",
            "format" : "int32"
          },
          "shortcut" : {
            "$ref" : "#/components/schemas/DocumentInstanceShortcutInfo"
          },
          "toc" : {
            "$ref" : "#/components/schemas/DossierInstanceTOC"
          },
          "stid" : {
            "type" : "integer",
            "description" : "State ID",
            "format" : "int32"
          },
          "pageCacheInfo" : {
            "$ref" : "#/components/schemas/CacheInfo"
          }
        },
        "description" : "Dossier instance details"
      },
      "DocumentInstanceShortcutInfo" : {
        "type" : "object",
        "properties" : {
          "n" : {
            "type" : "string",
            "writeOnly" : true
          },
          "name" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string",
            "description" : "Id of the document instance shortcut"
          },
          "target" : {
            "$ref" : "#/components/schemas/TargetInfo"
          },
          "iocu" : {
            "type" : "integer",
            "format" : "int32",
            "writeOnly" : true
          },
          "ownedByCurrentUser" : {
            "type" : "boolean"
          },
          "currentBookmark" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          }
        },
        "description" : "Dossier instance shortcut info"
      },
      "DossierInstanceTOC" : {
        "type" : "object",
        "properties" : {
          "chapters" : {
            "type" : "array",
            "description" : "Collection of chapters in the dossier",
            "items" : {
              "$ref" : "#/components/schemas/Chapter"
            }
          },
          "cpk" : {
            "type" : "string",
            "description" : "Current page node key"
          }
        },
        "description" : "Dossier instance TOC"
      },
      "FiltersPanelStack" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "The key of the filter panel stack"
          },
          "k" : {
            "type" : "string",
            "writeOnly" : true
          }
        },
        "description" : "Information of filters panel stack"
      },
      "Page" : {
        "type" : "object",
        "properties" : {
          "visualizations" : {
            "type" : "array",
            "description" : "Page visualizations",
            "items" : {
              "$ref" : "#/components/schemas/PageVisualization"
            }
          },
          "n" : {
            "type" : "string",
            "description" : "Page name"
          },
          "k" : {
            "type" : "string",
            "description" : "Page node key"
          },
          "t" : {
            "type" : "integer",
            "description" : "Page type",
            "format" : "int32"
          },
          "oid" : {
            "type" : "string",
            "description" : "Page document ID"
          },
          "mid" : {
            "type" : "string",
            "description" : "Page document instance ID, if available"
          },
          "oids" : {
            "type" : "array",
            "description" : "Page document IDs",
            "items" : {
              "type" : "string",
              "description" : "Page document IDs"
            }
          }
        },
        "description" : "List of pages in the chapter"
      },
      "PageVisualization" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Visualization name",
            "readOnly" : true
          },
          "key" : {
            "type" : "string",
            "description" : "Visualization ID",
            "readOnly" : true
          },
          "units" : {
            "$ref" : "#/components/schemas/PageVisualizationUnits"
          }
        },
        "description" : "Page visualizations"
      },
      "PageVisualizationUnit" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unit ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Unit type",
            "format" : "int32",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name",
            "readOnly" : true
          },
          "alias" : {
            "type" : "string",
            "description" : "Unit alias",
            "readOnly" : true
          }
        },
        "description" : "Unit metrics list",
        "readOnly" : true
      },
      "PageVisualizationUnits" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "array",
            "description" : "Unit attributes list",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/PageVisualizationUnit"
            }
          },
          "metrics" : {
            "type" : "array",
            "description" : "Unit metrics list",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/PageVisualizationUnit"
            }
          }
        },
        "description" : "Visualization units",
        "readOnly" : true
      },
      "PromptDefinition" : {
        "required" : [ "id", "key", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the prompt"
          },
          "key" : {
            "type" : "string",
            "description" : "Unique key of the prompt, important to be used when the same prompt is present multiple times on a: report, dossier, rsd."
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the prompt"
          },
          "title" : {
            "type" : "string",
            "description" : "Title of the prompt"
          },
          "type" : {
            "type" : "string",
            "description" : "Prompt type",
            "enum" : [ "UNSUPPORTED", "VALUE", "ELEMENTS", "EXPRESSION", "OBJECTS", "LEVEL" ]
          },
          "required" : {
            "type" : "boolean",
            "description" : "Indicator of prompt being required"
          },
          "closed" : {
            "type" : "boolean",
            "description" : "Indicator of prompt has been closed"
          }
        },
        "description" : "List of prompt definitions"
      },
      "TargetInfo" : {
        "required" : [ "objectId", "type" ],
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time"
          },
          "modificationTime" : {
            "type" : "string",
            "description" : "Modification time"
          },
          "modificationTimeUtc" : {
            "type" : "string",
            "description" : "The modification time in UTC",
            "format" : "date-time"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Target object ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Object type.",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one", "report_definition, document_definition" ]
          },
          "objectDesc" : {
            "type" : "string",
            "description" : "Object description"
          },
          "objectCreator" : {
            "type" : "string",
            "description" : "Object creator--note that backend to confirm it's message creator"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Folder ID where the object is located"
          },
          "folderName" : {
            "type" : "string",
            "description" : "Folder name"
          }
        },
        "description" : "Target object info"
      },
      "ManipulationBody" : {
        "type" : "object",
        "properties" : {
          "partialUpdate" : {
            "$ref" : "#/components/schemas/PartialUpdate"
          },
          "partialRetrieval" : {
            "$ref" : "#/components/schemas/PartialRetrieval"
          },
          "sqlviewMode" : {
            "type" : "boolean"
          },
          "actions" : {
            "type" : "string",
            "description" : "Actions of the manipulation"
          },
          "suppressData" : {
            "type" : "boolean",
            "description" : "Do not return the data in the response (Data cut at the REST Level) "
          },
          "excludeData" : {
            "type" : "boolean",
            "description" : "Do not return the data in data node (but return layout of the data node for example) of the response (Data cut at the IServer level)"
          },
          "resolveOnly" : {
            "type" : "boolean",
            "description" : "Use to not apply the manipulation live, save the manipulation only"
          },
          "noActionMode" : {
            "type" : "boolean",
            "description" : "Not even to resolve prompts. This is for higher performance for instances used in report editing"
          },
          "sqlViewMode" : {
            "type" : "boolean",
            "description" : "View pre-execution SQL, allows user to resolve prompts first if applicable"
          }
        }
      },
      "PartialRetrieval" : {
        "type" : "object",
        "properties" : {
          "nodes" : {
            "type" : "array",
            "description" : "Nodes to retrieve",
            "items" : {
              "type" : "string",
              "description" : "Nodes to retrieve"
            }
          },
          "filters" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "Partial Retrieval Options"
      },
      "PartialUpdate" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "Objects to update",
            "items" : {
              "$ref" : "#/components/schemas/PartialUpdateObjects"
            }
          },
          "selectors" : {
            "type" : "array",
            "description" : "Selectors to update",
            "items" : {
              "type" : "string",
              "description" : "Selectors to update"
            }
          },
          "nodes" : {
            "type" : "array",
            "description" : "Nodes to update",
            "items" : {
              "type" : "string",
              "description" : "Nodes to update"
            }
          }
        },
        "description" : "Partial update of the manipulation"
      },
      "PartialUpdateObjects" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "type" : {
            "type" : "integer",
            "format" : "int32"
          },
          "flag" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "description" : "Objects to update"
      },
      "DocumentInstance" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the document object"
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the document instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "mid" : {
            "type" : "string",
            "description" : "Message ID of the new document instance"
          }
        }
      },
      "CrossLinkingInfoDTO" : {
        "type" : "object",
        "properties" : {
          "sourceInstanceId" : {
            "type" : "string",
            "description" : "ID of the dossier instance"
          },
          "promptsAnswers" : {
            "type" : "string",
            "description" : "Prompt answers for the dossier instance"
          },
          "selectorMode" : {
            "type" : "string",
            "description" : "Selector mode for the dossier instance",
            "enum" : [ "NONE", "MATCH_BY_ID", "MATCH_BY_NAME" ]
          },
          "targetPageKey" : {
            "type" : "string",
            "description" : "Target page key for the dossier instance"
          },
          "filterTargetKeys" : {
            "type" : "string",
            "description" : "Filter target keys for the dossier instance"
          },
          "vizSelection" : {
            "type" : "string",
            "description" : "Visualization selection for the dossier instance"
          },
          "passFilter" : {
            "type" : "string",
            "description" : "Pass filter for the dossier instance"
          },
          "passInCanvasSelection" : {
            "type" : "boolean",
            "description" : "Pass in canvas selection for the dossier instance"
          }
        },
        "description" : "Linking info when execute the instance"
      },
      "DocumentCreationBody" : {
        "type" : "object",
        "properties" : {
          "linkingInfo" : {
            "$ref" : "#/components/schemas/CrossLinkingInfoDTO"
          },
          "resolveOnly" : {
            "type" : "boolean",
            "description" : "Whether to resolve the document only without executing it"
          },
          "filters" : {
            "type" : "array",
            "description" : "Filter expressions",
            "items" : {
              "$ref" : "#/components/schemas/FilterInfo"
            }
          },
          "persistViewState" : {
            "type" : "boolean",
            "description" : "Specifies whether manipulations that have been performed on a dossier or document instance should be saved in the published version. When a dossier or a document is published to users, the recipients can access either the base document or the published version. When this flag is set to “true”, it is the published view that is executed and all manipulations that the user performs on the dossier or document instance are auto-saved in the published view."
          }
        }
      },
      "FilterInfo" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Key of the filter"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the filter"
          },
          "selections" : {
            "type" : "array",
            "description" : "Apply specific filter selection",
            "items" : {
              "$ref" : "#/components/schemas/SelectedItem"
            }
          },
          "constants" : {
            "type" : "array",
            "description" : "The 'constants' field specifies the value which applied on the filter.",
            "example" : [ "1500", "20000" ],
            "items" : {
              "type" : "string",
              "description" : "The 'constants' field specifies the value which applied on the filter.",
              "example" : "[\"1500\",\"20000\"]"
            }
          },
          "qualifier" : {
            "type" : "string",
            "description" : "The 'qualifier' field specifies the operation applied. For attribute element filters, any string other than exact 'NotIn', is treated to include the element in list. For expression filters, only a limited set of string (case insensitive) can be used (e.g. In, NotIn, Equals)."
          },
          "formId" : {
            "type" : "string",
            "description" : "The 'formId' field specifies the form id of the filter."
          },
          "currentSelection" : {
            "$ref" : "#/components/schemas/SelectorSelectionInfo"
          },
          "visualizationKey" : {
            "type" : "string",
            "description" : "The key of the visualization as filter"
          }
        }
      },
      "SelectedItem" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of the filter"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the filter"
          }
        },
        "description" : "Apply specific filter selection"
      },
      "SelectorSelectionInfo" : {
        "type" : "object",
        "properties" : {
          "selectionStatus" : {
            "type" : "string",
            "description" : "Selector status",
            "enum" : [ "excluded", "included", "unfiltered" ]
          }
        },
        "description" : "Selector current selection"
      },
      "DocumentInstanceCopy" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Instance Id (Message ID) of the new document instance"
          }
        }
      },
      "DocumentSave" : {
        "type" : "object",
        "properties" : {
          "overwrite" : {
            "type" : "boolean",
            "description" : "Specifies whether to overwrite existing documents if the names of the current object and an existing document are the same"
          },
          "name" : {
            "type" : "string",
            "description" : "Document name"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Object ID of the folder where the document should be saved"
          },
          "description" : {
            "type" : "string",
            "description" : "Document description"
          },
          "promptBehavior" : {
            "type" : "integer",
            "description" : "Specifies if open prompt and uses current prompt answer as default answer when open the dossier, value from EnumDSSXMLDocSaveAsFlags where \n 0 for DssXmlDocSaveAsDefault,\n 2 for DssXmlDocSveAsWithAnswersOpen,\n 4 for DssXmlDocSaveAsWithAnswersClosed",
            "format" : "int32"
          }
        }
      },
      "CsvDashboardOptions" : {
        "type" : "object",
        "properties" : {
          "nodeKey" : {
            "type" : "string",
            "description" : "The key of the visualization to be exported"
          },
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "displayAttributeForms" : {
            "type" : "boolean",
            "description" : "Specifies whether to display attribute forms. Default to true."
          },
          "separator" : {
            "type" : "string",
            "description" : "Separator between two content cells. \",\" is the default separator."
          },
          "valuePrefix" : {
            "type" : "string",
            "description" : "Prefix of data. \" is the default data prefix."
          },
          "valuePostfix" : {
            "type" : "string",
            "description" : "Postfix of data. \" is the default data postfix."
          },
          "headerPrefix" : {
            "type" : "string",
            "description" : "Prefix of header. \" is the default header prefix."
          },
          "headerPostfix" : {
            "type" : "string",
            "description" : "Postfix of header. \" is the default header postfix."
          },
          "trimSpace" : {
            "type" : "boolean",
            "description" : "Specifies whether to remove spaces before and after content cells. Default to true."
          },
          "nodeKeys" : {
            "type" : "array",
            "description" : "The keys of the nodes to be exported.",
            "items" : {
              "type" : "string",
              "description" : "The keys of the nodes to be exported."
            }
          }
        }
      },
      "DocumentData" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "Document data",
            "items" : {
              "type" : "string",
              "description" : "Document data",
              "format" : "byte"
            }
          }
        }
      },
      "PdfResult" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the result"
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the result",
            "enum" : [ "running" ]
          }
        }
      },
      "PdfMultipleNodesOptions" : {
        "type" : "object",
        "properties" : {
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "pageHeight" : {
            "type" : "number",
            "description" : "Page height (in inches) of the PDF file.",
            "format" : "double"
          },
          "pageWidth" : {
            "type" : "number",
            "description" : "Page width (in inches) of the PDF file",
            "format" : "double"
          },
          "marginTop" : {
            "type" : "number",
            "description" : "Top margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginRight" : {
            "type" : "number",
            "description" : "Right margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginBottom" : {
            "type" : "number",
            "description" : "Bottom margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginLeft" : {
            "type" : "number",
            "description" : "Left margin (in inches) of the PDF file",
            "format" : "double"
          },
          "includeOverview" : {
            "type" : "boolean",
            "description" : "Specifies whether to include overview"
          },
          "includeDetailedPages" : {
            "type" : "boolean",
            "description" : "Specifies whether to include separate widgets on each page"
          },
          "waitingTimeBeforeExport" : {
            "type" : "integer",
            "description" : "Specifies waiting time before exporting",
            "format" : "int32"
          },
          "includeToc" : {
            "type" : "boolean",
            "description" : "Specifies whether to include table of contents"
          },
          "includeHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to include header"
          },
          "includeFooter" : {
            "type" : "boolean",
            "description" : "Specifies whether to include footer"
          },
          "viewportHeight" : {
            "type" : "integer",
            "description" : "Viewport height (in pixels) of the client 'Window Size' which is added for 'Paper Size' option for exporting PDF, its default value is 0",
            "format" : "int32"
          },
          "viewportWidth" : {
            "type" : "integer",
            "description" : "Viewport width (in pixels) of the client 'Window Size' which is added for 'Paper Size' option for exporting PDF, its default value is 0",
            "format" : "int32"
          },
          "filterSummary" : {
            "type" : "string",
            "description" : "Specifies the options of including filter summary in the exported PDF. If 'NONE' is being used, no filter summary will be displayed. If 'BAR' is being used, filter summary bar will be displayed on each page. If 'PAGE' is being used, filter summary page will be displayed at the end of each chapter. If 'ALL' is being used, both filter summary bar and page will be displayed.",
            "enum" : [ "NONE", "BAR", "PAGE", "ALL" ]
          },
          "gridPagingMode" : {
            "type" : "string",
            "description" : "Specifies how grids should be paginated. This option takes effect only when overview is included. If 'none' is being used, grids may be cut off on overview pages if there are many rows or columns. Each dossier page is exported to one PDF page. If 'enlarge' is being used, grids may be enlarged over multiple PDF pages if there are many rows, and scaled to page width if there are many columns. Each dossier page may be exported to multiple PDF pages.",
            "enum" : [ "none", "enlarge" ]
          },
          "fitToPage" : {
            "type" : "boolean",
            "description" : "Specifies whether to fit grid to page"
          },
          "repeatColumnHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to repeat grid column header"
          },
          "responsiveView" : {
            "type" : "boolean",
            "description" : "Indicates whether to export document in responsive view mode or not."
          },
          "fromShowData" : {
            "type" : "boolean",
            "description" : "Indicates whether export is triggered from show data entry or not."
          },
          "nodeKeys" : {
            "type" : "array",
            "description" : "The keys of the nodes to be exported. The following types are supported: Dossier: multiple visualization keys, multiple page keys, multiple chapter keys Document: single visualization key.",
            "items" : {
              "type" : "string",
              "description" : "The keys of the nodes to be exported. The following types are supported: Dossier: multiple visualization keys, multiple page keys, multiple chapter keys Document: single visualization key."
            }
          },
          "gridContainerFit" : {
            "type" : "string",
            "description" : "Whether to scale grids to fit container. It works for dossier only and when grid paging mode is `enlarge`.",
            "enum" : [ "none", "horizontal" ]
          }
        }
      },
      "CsvOptions" : {
        "type" : "object",
        "properties" : {
          "nodeKey" : {
            "type" : "string",
            "description" : "The key of the visualization to be exported"
          },
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "displayAttributeForms" : {
            "type" : "boolean",
            "description" : "Specifies whether to display attribute forms. Default to true."
          },
          "separator" : {
            "type" : "string",
            "description" : "Separator between two content cells. \",\" is the default separator."
          },
          "valuePrefix" : {
            "type" : "string",
            "description" : "Prefix of data. \" is the default data prefix."
          },
          "valuePostfix" : {
            "type" : "string",
            "description" : "Postfix of data. \" is the default data postfix."
          },
          "headerPrefix" : {
            "type" : "string",
            "description" : "Prefix of header. \" is the default header prefix."
          },
          "headerPostfix" : {
            "type" : "string",
            "description" : "Postfix of header. \" is the default header postfix."
          },
          "trimSpace" : {
            "type" : "boolean",
            "description" : "Specifies whether to remove spaces before and after content cells. Default to true."
          }
        }
      },
      "ExcelCustomHeader" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "The customized text of Excel header"
          },
          "location" : {
            "type" : "string",
            "description" : "The customized header location",
            "enum" : [ "before", "after", "replace" ]
          }
        },
        "description" : "The settings about Excel custom header"
      },
      "ExcelFooter" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "The customized text of Excel footer"
          }
        },
        "description" : "The footer of Excel"
      },
      "ExcelHeader" : {
        "type" : "object",
        "properties" : {
          "reportTitle" : {
            "type" : "boolean",
            "description" : "Whether to include report title"
          },
          "filterDetails" : {
            "type" : "boolean",
            "description" : "Whether to include filter details"
          },
          "custom" : {
            "$ref" : "#/components/schemas/ExcelCustomHeader"
          }
        },
        "description" : "The header of Excel"
      },
      "ExcelOptions" : {
        "type" : "object",
        "properties" : {
          "keys" : {
            "type" : "array",
            "description" : "Keys of the grid/graph to be exported",
            "items" : {
              "type" : "string",
              "description" : "Keys of the grid/graph to be exported"
            }
          },
          "sliceId" : {
            "type" : "integer",
            "description" : "ID of the slice to be exported",
            "format" : "int32"
          },
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "pagePerSheet" : {
            "type" : "boolean",
            "description" : "Whether to export page-by on separate worksheets"
          },
          "includePageByInfo" : {
            "type" : "boolean",
            "description" : "Whether to export page-by information"
          },
          "sheet" : {
            "$ref" : "#/components/schemas/ExcelSheet"
          }
        }
      },
      "ExcelSheet" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "$ref" : "#/components/schemas/ExcelSheetContent"
          },
          "header" : {
            "$ref" : "#/components/schemas/ExcelHeader"
          },
          "footer" : {
            "$ref" : "#/components/schemas/ExcelFooter"
          }
        },
        "description" : "The settings of Excel sheet"
      },
      "ExcelSheetContent" : {
        "type" : "object",
        "properties" : {
          "level" : {
            "type" : "string",
            "description" : "Allow users to export sheet content at granular levels. At page level, each dashboard page is exported to a sheet. At visualization level, each visualization is exported to a sheet",
            "enum" : [ "visualization", "page" ]
          }
        },
        "description" : "The content format of Excel sheet"
      },
      "PdfOptions" : {
        "type" : "object",
        "properties" : {
          "nodeKey" : {
            "type" : "string",
            "description" : "The key of the visualization to be exported"
          },
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "pageHeight" : {
            "type" : "number",
            "description" : "Page height (in inches) of the PDF file.",
            "format" : "double"
          },
          "pageWidth" : {
            "type" : "number",
            "description" : "Page width (in inches) of the PDF file",
            "format" : "double"
          },
          "marginTop" : {
            "type" : "number",
            "description" : "Top margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginRight" : {
            "type" : "number",
            "description" : "Right margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginBottom" : {
            "type" : "number",
            "description" : "Bottom margin (in inches) of the PDF file",
            "format" : "double"
          },
          "marginLeft" : {
            "type" : "number",
            "description" : "Left margin (in inches) of the PDF file",
            "format" : "double"
          },
          "includeOverview" : {
            "type" : "boolean",
            "description" : "Specifies whether to include overview"
          },
          "includeDetailedPages" : {
            "type" : "boolean",
            "description" : "Specifies whether to include separate widgets on each page"
          },
          "waitingTimeBeforeExport" : {
            "type" : "integer",
            "description" : "Specifies waiting time before exporting",
            "format" : "int32"
          },
          "includeToc" : {
            "type" : "boolean",
            "description" : "Specifies whether to include table of contents"
          },
          "includeHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to include header"
          },
          "includeFooter" : {
            "type" : "boolean",
            "description" : "Specifies whether to include footer"
          },
          "viewportHeight" : {
            "type" : "integer",
            "description" : "Viewport height (in pixels) of the client 'Window Size' which is added for 'Paper Size' option for exporting PDF, its default value is 0",
            "format" : "int32"
          },
          "viewportWidth" : {
            "type" : "integer",
            "description" : "Viewport width (in pixels) of the client 'Window Size' which is added for 'Paper Size' option for exporting PDF, its default value is 0",
            "format" : "int32"
          },
          "filterSummary" : {
            "type" : "string",
            "description" : "Specifies the options of including filter summary in the exported PDF. If 'NONE' is being used, no filter summary will be displayed. If 'BAR' is being used, filter summary bar will be displayed on each page. If 'PAGE' is being used, filter summary page will be displayed at the end of each chapter. If 'ALL' is being used, both filter summary bar and page will be displayed.",
            "enum" : [ "NONE", "BAR", "PAGE", "ALL" ]
          },
          "gridPagingMode" : {
            "type" : "string",
            "description" : "Specifies how grids should be paginated. This option takes effect only when overview is included. If 'none' is being used, grids may be cut off on overview pages if there are many rows or columns. Each dossier page is exported to one PDF page. If 'enlarge' is being used, grids may be enlarged over multiple PDF pages if there are many rows, and scaled to page width if there are many columns. Each dossier page may be exported to multiple PDF pages.",
            "enum" : [ "none", "enlarge" ]
          },
          "fitToPage" : {
            "type" : "boolean",
            "description" : "Specifies whether to fit grid to page"
          },
          "repeatColumnHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to repeat grid column header"
          },
          "responsiveView" : {
            "type" : "boolean",
            "description" : "Indicates whether to export document in responsive view mode or not."
          },
          "fromShowData" : {
            "type" : "boolean",
            "description" : "Indicates whether export is triggered from show data entry or not."
          }
        }
      },
      "AttributeDetailInfo" : {
        "required" : [ "forms", "id", "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/BaseObjectInfo"
        }, {
          "type" : "object",
          "properties" : {
            "forms" : {
              "type" : "array",
              "description" : "Collection of forms",
              "items" : {
                "$ref" : "#/components/schemas/FormDetailInfo"
              }
            }
          }
        } ]
      },
      "BaseObjectInfo" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "type" : {
            "type" : "string",
            "description" : "object type, valid object type: attribute, consolidation, customGroup, metric"
          }
        },
        "description" : "Collection of elements in page by",
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "BaseRwUnit" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          }
        },
        "description" : "Filtered targets"
      },
      "DataSetDetailInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "availableObjects" : {
            "type" : "array",
            "description" : "Collection of available objects in dataset",
            "items" : {
              "$ref" : "#/components/schemas/BaseObjectInfo"
            }
          },
          "rows" : {
            "type" : "array",
            "description" : "Collection of elements in the row",
            "items" : {
              "$ref" : "#/components/schemas/BaseObjectInfo"
            }
          },
          "columns" : {
            "type" : "array",
            "description" : "Collection of elements in the column",
            "items" : {
              "$ref" : "#/components/schemas/BaseObjectInfo"
            }
          },
          "pageBy" : {
            "type" : "array",
            "description" : "Collection of elements in page by",
            "items" : {
              "$ref" : "#/components/schemas/BaseObjectInfo"
            }
          },
          "sqlStatement" : {
            "type" : "string",
            "description" : "SQL statement of dataset"
          }
        },
        "description" : "Collection of dataset info"
      },
      "DocumentTreeDefinition" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "datasets" : {
            "type" : "array",
            "description" : "Collection of dataset info",
            "items" : {
              "$ref" : "#/components/schemas/DataSetDetailInfo"
            }
          },
          "currentLayout" : {
            "type" : "string",
            "description" : "Current layout key in document"
          },
          "layouts" : {
            "type" : "array",
            "description" : "Collection of layouts in the document",
            "items" : {
              "$ref" : "#/components/schemas/Layout"
            }
          }
        },
        "description" : "Document tree definition"
      },
      "ElementDetailInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Element type"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type"
          }
        },
        "description" : "Collection of elements"
      },
      "FieldInfo" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "fieldType" : {
            "type" : "string",
            "description" : "Field type",
            "enum" : [ "shape", "image", "line", "html", "text", "shape_round" ]
          }
        },
        "description" : "Collection of fields in a specific page in a dossier"
      },
      "Filter" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "summary" : {
            "type" : "string",
            "description" : "Text summary of selector expression"
          },
          "source" : {
            "$ref" : "#/components/schemas/SourceBaseInfo"
          },
          "synchronizedAcrossChapter" : {
            "type" : "boolean",
            "description" : "This flag is only for chapter level selector is global or not, if selector is global, changed on selector will synchronised"
          },
          "selectorType" : {
            "type" : "string",
            "description" : "Selector type",
            "enum" : [ "attribute_qualification", "attribute_element_list", "metric_qualification", "object_replacement", "visualization_as_filter", "panel_selector", "value_parameter", "unknown" ]
          },
          "displayStyle" : {
            "type" : "string",
            "description" : "Selector display Style",
            "enum" : [ "combo_box", "slider", "list_box", "radio_buttons", "check_boxes", "buttons", "hyper_links", "metric_slider", "metric_qualification", "search_box", "text_box", "attribute_qualification" ]
          },
          "hasAllOption" : {
            "type" : "boolean",
            "description" : "Has option for all"
          },
          "targets" : {
            "type" : "array",
            "description" : "Filtered targets",
            "items" : {
              "$ref" : "#/components/schemas/BaseRwUnit"
            }
          },
          "multiSelectionAllowed" : {
            "type" : "boolean",
            "description" : "Selector Can be Multi-select or not"
          },
          "selectionRequired" : {
            "type" : "boolean",
            "description" : "Required or not"
          },
          "currentSelection" : {
            "$ref" : "#/components/schemas/SelectorSelectionInfo"
          }
        },
        "description" : "Collection of chapter-level filters in a specific chapter of a dossier"
      },
      "FormDetailInfo" : {
        "required" : [ "baseFormCategory", "baseFormType", "dataType", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "dataType" : {
            "type" : "string",
            "description" : "data type"
          },
          "baseFormCategory" : {
            "type" : "string",
            "description" : "base form category"
          },
          "baseFormType" : {
            "type" : "string",
            "description" : "base form type"
          }
        },
        "description" : "Collection of forms"
      },
      "GroupBy" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "source" : {
            "$ref" : "#/components/schemas/SourceBaseInfo"
          }
        },
        "description" : "Collection of group by in a layout of a document"
      },
      "Layout" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "visualizations" : {
            "type" : "array",
            "description" : "Collection of visualizations in a layout of a document",
            "items" : {
              "$ref" : "#/components/schemas/VisualizationInfo"
            }
          },
          "fields" : {
            "type" : "array",
            "description" : "Collection of fields in a layout of a document",
            "items" : {
              "$ref" : "#/components/schemas/FieldInfo"
            }
          },
          "selectors" : {
            "type" : "array",
            "description" : "Collection of selectors in a layout in a document",
            "items" : {
              "$ref" : "#/components/schemas/Filter"
            }
          },
          "panelStacks" : {
            "type" : "array",
            "description" : "Collection of panel stack in a layout of a document",
            "items" : {
              "$ref" : "#/components/schemas/PanelStackInfo"
            }
          },
          "filtersPanelStack" : {
            "$ref" : "#/components/schemas/FiltersPanelStack"
          },
          "groupBy" : {
            "type" : "array",
            "description" : "Collection of group by in a layout of a document",
            "items" : {
              "$ref" : "#/components/schemas/GroupBy"
            }
          },
          "displaySharedPageHeaderFooter" : {
            "type" : "boolean",
            "description" : "Display shared page header footer"
          },
          "treeType" : {
            "type" : "string",
            "description" : "Tree type of the layout",
            "enum" : [ "unknown", "content", "pageHeader", "pageFooter" ]
          }
        },
        "description" : "Collection of layouts in the document"
      },
      "MetricsDetailInfo" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/BaseObjectInfo"
        }, {
          "type" : "object",
          "properties" : {
            "elements" : {
              "type" : "array",
              "description" : "Collection of elements",
              "items" : {
                "$ref" : "#/components/schemas/ElementDetailInfo"
              }
            }
          }
        } ]
      },
      "Panel" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "visualizations" : {
            "type" : "array",
            "description" : "Collection of visualizations in a specific panel in a document",
            "items" : {
              "$ref" : "#/components/schemas/VisualizationInfo"
            }
          },
          "fields" : {
            "type" : "array",
            "description" : "Collection of fields in a specific panel in a document",
            "items" : {
              "$ref" : "#/components/schemas/FieldInfo"
            }
          },
          "selectors" : {
            "type" : "array",
            "description" : "Collection of in canvas selectors in a specific panel in a document",
            "items" : {
              "$ref" : "#/components/schemas/Filter"
            }
          },
          "panelStacks" : {
            "type" : "array",
            "description" : "Collection of panel stack",
            "items" : {
              "$ref" : "#/components/schemas/PanelStackInfo"
            }
          }
        },
        "description" : "Collection of panels in a specific panel stack"
      },
      "PanelStackInfo" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "panels" : {
            "type" : "array",
            "description" : "Collection of panel in a specific panel stack",
            "items" : {
              "$ref" : "#/components/schemas/Page"
            }
          },
          "currentPanelKey" : {
            "type" : "string",
            "description" : "Current panel key in a specific panel stack"
          }
        },
        "description" : "Collection of panel stack"
      },
      "QualificationSelectorSelection" : {
        "type" : "object",
        "properties" : {
          "selectionStatus" : {
            "type" : "string",
            "description" : "Selector status",
            "enum" : [ "excluded", "included", "unfiltered" ]
          },
          "expression" : {
            "$ref" : "#/components/schemas/Expression"
          }
        },
        "description" : "Current selection for visualization as filter"
      },
      "SourceBaseInfo" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          }
        },
        "description" : "Object information for selector source"
      },
      "VisualizationInfo" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Unit key"
          },
          "name" : {
            "type" : "string",
            "description" : "Unit name"
          },
          "visualizationType" : {
            "type" : "string",
            "description" : "Visualization type"
          },
          "units" : {
            "$ref" : "#/components/schemas/PageVisualizationUnits"
          },
          "selector" : {
            "$ref" : "#/components/schemas/VisualizationSelectorInfo"
          },
          "secondaryDataProvidedFor" : {
            "type" : "string",
            "description" : "Secondary data provider for another visualization. Usually this is used by map layers to reference the map visualization key"
          },
          "columnSets" : {
            "type" : "array",
            "description" : "Column Sets of Compound Grid or Modern Grid",
            "items" : {
              "$ref" : "#/components/schemas/BaseRwUnit"
            }
          },
          "detailedType" : {
            "type" : "string",
            "description" : "The detailed type of current visualization.",
            "enum" : [ "-1", "0", "1", "2", "3", "4", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "40", "41", "42", "33", "34", "35", "36", "37", "38", "39", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88" ]
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Whether the visualization is hidden."
          },
          "sectionType" : {
            "type" : "integer",
            "description" : "The type of section which the visualization belongs to.",
            "format" : "int32"
          }
        },
        "description" : "Collection of visualizations in a specific page in a dossier"
      },
      "VisualizationSelectorInfo" : {
        "type" : "object",
        "properties" : {
          "visualizationKey" : {
            "type" : "string",
            "description" : "The key of the visualization as filter"
          },
          "selectorType" : {
            "type" : "string",
            "description" : "Selector type",
            "enum" : [ "attribute_qualification", "attribute_element_list", "metric_qualification", "object_replacement", "visualization_as_filter", "panel_selector", "value_parameter", "unknown" ]
          },
          "targets" : {
            "type" : "array",
            "description" : "Target visualization collection which is filtered by current visualization",
            "items" : {
              "$ref" : "#/components/schemas/BaseRwUnit"
            }
          },
          "currentSelection" : {
            "$ref" : "#/components/schemas/QualificationSelectorSelection"
          }
        },
        "description" : "Visualization as selector info"
      },
      "DocumentGroupByCombinations" : {
        "type" : "object",
        "properties" : {
          "units" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/GroupByUnit"
            },
            "description" : "Map of Group By Units"
          },
          "validGroupByCombinations" : {
            "$ref" : "#/components/schemas/GroupByCombinations"
          }
        }
      },
      "GroupByCombinations" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "description" : "Map of Group By Units",
            "items" : {
              "type" : "array",
              "description" : "Map of Group By Units",
              "items" : {
                "type" : "integer",
                "description" : "Map of Group By Units",
                "format" : "int32"
              }
            }
          },
          "paging" : {
            "$ref" : "#/components/schemas/Pagination"
          }
        },
        "description" : "Group By Combinations"
      },
      "GroupByElement" : {
        "required" : [ "id", "key" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "GroupBy Element Id"
          },
          "key" : {
            "pattern" : "[a-zA-Z0-9]+",
            "type" : "string",
            "description" : "GroupBy Node Key"
          },
          "name" : {
            "type" : "string",
            "description" : "GroupBy Element Name"
          }
        },
        "description" : "GroupBy Elements"
      },
      "GroupByUnit" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Group By Unit Name"
          },
          "id" : {
            "type" : "string",
            "description" : "Group By Unit ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Group By Unit Type"
          },
          "index" : {
            "type" : "integer",
            "description" : "Group By Unit Index In the Layout",
            "format" : "int32"
          },
          "elements" : {
            "type" : "array",
            "description" : "Group By Elements",
            "items" : {
              "$ref" : "#/components/schemas/GroupByElement"
            }
          },
          "currentGroupByElement" : {
            "type" : "string",
            "description" : "Current Group By Element"
          },
          "pageByStyle" : {
            "type" : "string",
            "description" : "Page By Style"
          }
        },
        "description" : "Map of Group By Units"
      },
      "Pagination" : {
        "type" : "object",
        "properties" : {
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "DocumentInstanceShortcutTocInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "ownedByCurrentUser" : {
            "type" : "boolean",
            "description" : "Specifies whether the current user owns the shortcut"
          },
          "target" : {
            "$ref" : "#/components/schemas/ShortcutTarget"
          },
          "currentPageKey" : {
            "type" : "string",
            "description" : "Current page node key"
          },
          "sharedTime" : {
            "type" : "string",
            "description" : "Shared time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "readOnly" : true
          },
          "lastViewedTime" : {
            "type" : "string",
            "description" : "Last viewed time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "readOnly" : true
          },
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "readOnly" : true
          },
          "stid" : {
            "type" : "integer",
            "description" : "Shortcut Sate ID",
            "format" : "int32",
            "readOnly" : true
          },
          "currentBookmark" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "prompted" : {
            "type" : "boolean",
            "description" : "Has prompt",
            "readOnly" : true
          },
          "datasetsCacheInfoHash" : {
            "type" : "string",
            "description" : "The hash value for the Dossier dataset cache info",
            "readOnly" : true
          },
          "dossierVersionHash" : {
            "type" : "string",
            "description" : "The hash value for the Dossier",
            "readOnly" : true
          },
          "encodeHtmlContent" : {
            "type" : "boolean",
            "description" : "Whether encode html content",
            "readOnly" : true
          }
        }
      },
      "ShortcutTarget" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "chapters" : {
            "type" : "array",
            "description" : "Collection of chapters in the dossier",
            "items" : {
              "$ref" : "#/components/schemas/Chapter"
            }
          },
          "showBaseViewInLibrary" : {
            "type" : "boolean",
            "description" : "Whether the base view is shown (instead of last view) in Library"
          }
        },
        "description" : "Information about the target"
      },
      "AvailableAnswersForElements" : {
        "type" : "object",
        "properties" : {
          "elements" : {
            "type" : "array",
            "description" : "Prompt available answers",
            "items" : {
              "type" : "object",
              "description" : "Prompt available answers"
            }
          }
        }
      },
      "AvaliableAnswersForObjects" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "Prompt available answers",
            "items" : {
              "type" : "object",
              "description" : "Prompt available answers"
            }
          }
        }
      },
      "DocumentLayoutQueryDetails" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Document layout key"
          },
          "name" : {
            "type" : "string",
            "description" : "Document layout name"
          },
          "gridGraphs" : {
            "type" : "array",
            "description" : "Grid Graphs",
            "items" : {
              "$ref" : "#/components/schemas/GridGraphQueryDetail"
            }
          }
        },
        "description" : "List of document layouts"
      },
      "DocumentQueryDetails" : {
        "type" : "object",
        "properties" : {
          "layouts" : {
            "type" : "array",
            "description" : "List of document layouts",
            "items" : {
              "$ref" : "#/components/schemas/DocumentLayoutQueryDetails"
            }
          }
        }
      },
      "GridGraphQueryDetail" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Grid Graph key"
          },
          "rawName" : {
            "type" : "string",
            "description" : "Grid Graph raw name"
          },
          "name" : {
            "type" : "string",
            "description" : "Grid Graph name"
          },
          "queryDetails" : {
            "type" : "string",
            "description" : "Grid Graph query details"
          },
          "sql" : {
            "type" : "string",
            "description" : "Grid Graph sql"
          }
        },
        "description" : "List of chapter visualizations"
      },
      "DocumentSliceData" : {
        "required" : [ "groupByElements" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Key"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "isGrid" : {
            "type" : "boolean",
            "description" : "Is Grid"
          },
          "visualizationType" : {
            "type" : "string",
            "description" : "Visualization Type"
          },
          "definition" : {
            "type" : "object",
            "description" : "Definition of Slice"
          },
          "data" : {
            "type" : "object",
            "description" : "Data of Slice"
          },
          "groupByElements" : {
            "type" : "array",
            "description" : "GroupBy Elements",
            "items" : {
              "$ref" : "#/components/schemas/GroupByElement"
            }
          }
        },
        "description" : "List of Slice Data"
      },
      "DocumentSlicesData" : {
        "type" : "object",
        "properties" : {
          "slices" : {
            "type" : "array",
            "description" : "List of Slice Data",
            "items" : {
              "$ref" : "#/components/schemas/DocumentSliceData"
            }
          },
          "internal" : {
            "$ref" : "#/components/schemas/Internal"
          },
          "slicePaging" : {
            "$ref" : "#/components/schemas/Pagination"
          }
        }
      },
      "Internal" : {
        "type" : "object",
        "properties" : {
          "promptAnswers" : {
            "type" : "string",
            "description" : "This parameter allows you to specify the answers to the prompts when creating the instance. It is essential for tailoring the instance to meet specific requirements or preferences."
          },
          "manipulations" : {
            "type" : "string",
            "description" : "This parameter defines the manipulations that should be executed after the instance has been created. It enables further customization and processing of the instance to achieve desired outcomes."
          }
        },
        "description" : "Prompt Answer and Manipulation List"
      },
      "DocumentRepromptResponse" : {
        "type" : "object",
        "properties" : {
          "mid" : {
            "type" : "string",
            "description" : "Message ID of the document reprompt status"
          }
        }
      },
      "DocumentRefresh" : {
        "type" : "object",
        "properties" : {
          "curInfoWindowId" : {
            "type" : "string",
            "description" : "ID of current opened info window when refreshing"
          }
        },
        "description" : "Represents the information to refresh a document instance"
      },
      "DocumentationDefinitionCreatedDto" : {
        "type" : "object",
        "properties" : {
          "documentationDefinitionId" : {
            "type" : "string",
            "description" : "Documentation Definition ID",
            "readOnly" : true
          }
        }
      },
      "DocumentationDefinitionDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the documentation"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the documentation",
            "enum" : [ "PROJECT_DOCUMENTATION" ]
          },
          "hiddenObjects" : {
            "type" : "boolean",
            "description" : "Whether hidden objects are included"
          },
          "defaults" : {
            "type" : "boolean",
            "description" : "Whether defaults are applied"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project GUID related to this documentation"
          },
          "definition" : {
            "type" : "boolean",
            "description" : "Include definition"
          },
          "advancedDefinition" : {
            "type" : "boolean",
            "description" : "Include advanced definition"
          },
          "dependents" : {
            "type" : "boolean",
            "description" : "Include dependents"
          },
          "components" : {
            "type" : "boolean",
            "description" : "Include components"
          },
          "folder" : {
            "type" : "array",
            "description" : "Folder",
            "items" : {
              "type" : "string",
              "description" : "Folder",
              "enum" : [ "All", "Folder" ]
            }
          },
          "application" : {
            "type" : "array",
            "description" : "Object categories",
            "items" : {
              "type" : "string",
              "description" : "Object categories",
              "enum" : [ "All", "AutoStyle", "BaseFormula", "Consolidation", "CustomGroup", "DataMartReport", "Dashboard", "DerivedElement", "Document", "DrillMap", "Filter", "Hypercard", "HTMLDocument", "IntelligentCube", "Metric", "MTDICube", "PredictiveMetric", "Prompt", "Report", "Search", "Shortcut", "Subtotal", "Template" ]
            }
          },
          "schema" : {
            "type" : "array",
            "description" : "Object schema",
            "items" : {
              "type" : "string",
              "description" : "Object schema",
              "enum" : [ "All", "Attribute", "Fact", "Function", "Hierarchy", "LogicalTable", "SecurityFilter", "Transformation", "WarehousePartitionMapping", "MetadataPartitionMapping" ]
            }
          },
          "basicProperties" : {
            "type" : "array",
            "description" : "Basic properties",
            "items" : {
              "type" : "string",
              "description" : "Basic properties",
              "enum" : [ "All", "Location", "Description", "LongDescription", "CreationTime", "ModificationTime", "Owner", "Hidden", "ID", "VersionID", "AccessControl", "I18nProperties" ]
            }
          }
        }
      },
      "MultiStatusResponse" : {
        "required" : [ "results" ],
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "description" : "list of all item responses",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "StatusResponse" : {
        "required" : [ "id", "status" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "item id"
          },
          "status" : {
            "type" : "integer",
            "description" : "http status code",
            "format" : "int32"
          },
          "body" : {
            "type" : "object",
            "description" : "error message body"
          }
        },
        "description" : "list of all item responses"
      },
      "Configuration" : {
        "type" : "object",
        "properties" : {
          "hiddenObjects" : {
            "type" : "boolean",
            "description" : "Include hidden objects"
          },
          "defaults" : {
            "type" : "boolean",
            "description" : "Include sections with all properties set to default"
          },
          "definition" : {
            "type" : "boolean",
            "description" : "Include definition"
          },
          "advancedDefinition" : {
            "type" : "boolean",
            "description" : "Include advanced definition"
          },
          "objectCategories" : {
            "$ref" : "#/components/schemas/ObjectCategories"
          },
          "basicProperties" : {
            "type" : "array",
            "description" : "Basic properties",
            "items" : {
              "type" : "string",
              "description" : "Basic properties"
            }
          },
          "dependents" : {
            "type" : "boolean",
            "description" : "Include dependents"
          },
          "components" : {
            "type" : "boolean",
            "description" : "Include components"
          }
        }
      },
      "DocumentationDefinitionDetailsDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "ownerId" : {
            "type" : "string"
          },
          "ownerName" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "format" : "date-time"
          },
          "instance" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "configuration" : {
            "$ref" : "#/components/schemas/Configuration"
          }
        }
      },
      "ObjectCategories" : {
        "type" : "object",
        "properties" : {
          "folder" : {
            "type" : "array",
            "description" : "Folder",
            "items" : {
              "type" : "string",
              "description" : "Folder"
            }
          },
          "application" : {
            "type" : "array",
            "description" : "Application type",
            "items" : {
              "type" : "string",
              "description" : "Application type"
            }
          },
          "schema" : {
            "type" : "array",
            "description" : "Schema type",
            "items" : {
              "type" : "string",
              "description" : "Schema type"
            }
          }
        },
        "description" : "Object categories"
      },
      "DocumentationDefinitionBasicDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "ownerId" : {
            "type" : "string"
          },
          "ownerName" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "format" : "date-time"
          },
          "lastRun" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "DocumentationDefinitionWithTotalDto" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "format" : "int32"
          },
          "absoluteTotal" : {
            "type" : "integer",
            "format" : "int32"
          },
          "documentationDefinitions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationDefinitionBasicDto"
            }
          }
        }
      },
      "DocumentationDefinitionPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Patch operation type",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to patch",
            "example" : "/name",
            "enum" : [ "/name", "/description" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value to update",
            "example" : "New Documentation Definition Name"
          },
          "id" : {
            "type" : "string"
          }
        }
      },
      "PatchOperationsDocumentationDefinitionPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationDefinitionPatchOperation"
            }
          }
        }
      },
      "DocumentationCreatedDto" : {
        "type" : "object",
        "properties" : {
          "documentationId" : {
            "type" : "string"
          }
        }
      },
      "DocumentationCreationDto" : {
        "type" : "object",
        "properties" : {
          "documentationDefinitionId" : {
            "type" : "string",
            "description" : "Documentation Definition ID"
          }
        }
      },
      "ResourceFolder" : {
        "type" : "object",
        "properties" : {
          "paths" : {
            "type" : "object"
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "type" : "object"
            }
          }
        }
      },
      "DocumentationStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "progress" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "iServerErrorCode" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "DocumentationStatusesDto" : {
        "type" : "object",
        "properties" : {
          "documentationStatuses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationStatusDto"
            }
          }
        }
      },
      "DocumentationDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "documentDefinitionId" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32"
          },
          "projectId" : {
            "type" : "string"
          },
          "ownerId" : {
            "type" : "string"
          },
          "ownerName" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "DocumentationWithTotalDto" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "format" : "int32"
          },
          "documentation" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationDto"
            }
          }
        }
      },
      "DocumentationFolder" : {
        "type" : "object",
        "properties" : {
          "resourceFolders" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ResourceFolder"
            }
          }
        }
      },
      "AncestorFolder" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "DocumentationObject" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "ownerId" : {
            "type" : "string"
          },
          "ownerName" : {
            "type" : "string"
          },
          "location" : {
            "type" : "string"
          },
          "ancestorFolders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AncestorFolder"
            }
          },
          "creationTime" : {
            "type" : "string"
          },
          "modificationTime" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          }
        }
      },
      "DocumentationObjectsDto" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationObject"
            }
          },
          "total" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "DocumentationPatchOperation" : {
        "required" : [ "id", "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Patch operation type",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to patch",
            "example" : "/name",
            "enum" : [ "/name" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value to update",
            "example" : "Example Documentation Name"
          },
          "id" : {
            "type" : "string",
            "description" : "Documentation identifier",
            "example" : "123E4567E89B12D3A456426614174000"
          }
        }
      },
      "PatchOperationsDocumentationPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DocumentationPatchOperation"
            }
          }
        }
      },
      "DossierShareRequest" : {
        "type" : "object",
        "properties" : {
          "sharedToUserIds" : {
            "type" : "array",
            "description" : "List of user IDs to share the dossier with",
            "items" : {
              "type" : "string",
              "description" : "List of user IDs to share the dossier with"
            }
          },
          "shareFlag" : {
            "type" : "string",
            "description" : "Shared to user flags, which corresponds to a value from [EnumDSSXMLObjectSharedToUsersFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSharedToUsersFlags.html)",
            "default" : "SHARE_VIA_URL",
            "enum" : [ "SHARE", "REMOVE_SHARE", "SHARE_VIA_URL", "REMOVE_SHARE_VIA_URL" ]
          },
          "shareFlags" : {
            "type" : "string",
            "writeOnly" : true,
            "enum" : [ "SHARE", "REMOVE_SHARE", "SHARE_VIA_URL", "REMOVE_SHARE_VIA_URL" ]
          }
        }
      },
      "DossierInstance" : {
        "type" : "object",
        "properties" : {
          "executionFlagsExtension" : {
            "type" : "integer",
            "description" : "Specify the execution flag extensions for the manipulation",
            "format" : "int32"
          },
          "mid" : {
            "type" : "string",
            "description" : "Dossier message ID"
          },
          "oid" : {
            "type" : "string",
            "description" : "Dossier object GUID"
          },
          "pid" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "n" : {
            "type" : "string",
            "description" : "Dossier name"
          },
          "description" : {
            "type" : "string",
            "description" : "Dossier description"
          },
          "cpk" : {
            "type" : "string",
            "description" : "Current page node key"
          },
          "keySeed" : {
            "type" : "integer",
            "description" : "Key seed",
            "format" : "int32"
          },
          "prompts" : {
            "type" : "string",
            "description" : "JSON prompts data"
          },
          "defn" : {
            "type" : "string",
            "description" : "JSON definition of a dossier"
          },
          "data" : {
            "type" : "string",
            "description" : "JSON data details for rendering a dossier"
          },
          "exportData" : {
            "type" : "array",
            "description" : "Export data",
            "items" : {
              "type" : "string",
              "description" : "Export data",
              "format" : "byte"
            }
          },
          "coverpage" : {
            "$ref" : "#/components/schemas/Page"
          },
          "filters" : {
            "type" : "array",
            "description" : "Collection of global filters",
            "items" : {
              "$ref" : "#/components/schemas/Filter"
            }
          },
          "chapters" : {
            "type" : "array",
            "description" : "Collection of chapters",
            "items" : {
              "$ref" : "#/components/schemas/Chapter"
            }
          }
        }
      },
      "cacheInfos" : {
        "type" : "object",
        "properties" : {
          "cacheInfos" : {
            "type" : "array",
            "description" : "List of Cache Info",
            "items" : {
              "$ref" : "#/components/schemas/CacheInfo"
            }
          }
        }
      },
      "GDDEMsiItem" : {
        "type" : "object",
        "properties" : {
          "info" : {
            "type" : "string",
            "description" : "Tag information"
          },
          "elements" : {
            "$ref" : "#/components/schemas/GDDEMsiItemElements"
          }
        },
        "description" : "MSI Item - GDDE Response"
      },
      "GDDEMsiItemElement" : {
        "type" : "object",
        "properties" : {
          "arity" : {
            "type" : "integer",
            "description" : "Attribute Arity (Number of argument/operands for function) ",
            "format" : "int32"
          },
          "displayName" : {
            "type" : "string",
            "description" : "Display Name"
          },
          "extraInfo" : {
            "type" : "string",
            "description" : "Extra information - ElementID."
          },
          "elementType" : {
            "type" : "integer",
            "description" : "attribute element type",
            "format" : "int32"
          },
          "level" : {
            "type" : "integer",
            "description" : "Element level",
            "format" : "int32"
          },
          "hasChildren" : {
            "type" : "boolean",
            "description" : "The element has children or not"
          },
          "parentElementId" : {
            "type" : "string",
            "description" : "Id of parent element"
          },
          "parentElementIndex" : {
            "type" : "integer",
            "description" : "Index of parent element",
            "format" : "int32"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "The element is hidden or not"
          }
        },
        "description" : "MSI Item Element"
      },
      "GDDEMsiItemElements" : {
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "description" : "Attribute ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Attribute ID"
          },
          "blockSize" : {
            "type" : "integer",
            "description" : "block size",
            "format" : "int32"
          },
          "childCount" : {
            "type" : "integer",
            "description" : "child count",
            "format" : "int32"
          },
          "partialChildCount" : {
            "type" : "integer",
            "description" : "Partial Child Count",
            "format" : "int32"
          },
          "startingElement" : {
            "type" : "integer",
            "description" : "starting Element index",
            "format" : "int32"
          },
          "newSearch" : {
            "type" : "boolean",
            "description" : "Whether search result is from new search"
          },
          "nextOffset" : {
            "type" : "integer",
            "description" : "Offset for searching next time",
            "format" : "int32"
          },
          "element" : {
            "type" : "array",
            "description" : "MSI Item Element",
            "items" : {
              "$ref" : "#/components/schemas/GDDEMsiItemElement"
            }
          }
        },
        "description" : "MSI Item Elements"
      },
      "DocumentDataSetElementsRequest" : {
        "required" : [ "rwCtrlKey", "targetAttributeId" ],
        "type" : "object",
        "properties" : {
          "preferNewSearch" : {
            "type" : "boolean",
            "description" : "Prefer the new search strategy, which aims to return results with higher matching quality. When true, the 'rawInput' field is required."
          },
          "targetAttributeId" : {
            "type" : "string",
            "description" : "Target attribute/object Id"
          },
          "targetObjectType" : {
            "type" : "integer",
            "description" : "Target object type",
            "format" : "int32"
          },
          "searchPattern" : {
            "type" : "string",
            "description" : "Search Pattern (for lookup)"
          },
          "rawInput" : {
            "type" : "string",
            "description" : "The exact text entered by the user. Required when 'preferNewSearch' is true."
          },
          "searchForms" : {
            "type" : "array",
            "description" : "List of Search Form IDs. It should be used along with `searchPattern`, it specify the forms to search in",
            "items" : {
              "type" : "string",
              "description" : "List of Search Form IDs. It should be used along with `searchPattern`, it specify the forms to search in"
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "offset. It is deprecated since 11.3.3, please use blockBegin instead",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "limit. It is deprecated since 11.3.3, please use blockCount instead",
            "format" : "int32"
          },
          "blockBegin" : {
            "type" : "integer",
            "description" : "blockBegin",
            "format" : "int32"
          },
          "blockCount" : {
            "type" : "integer",
            "description" : "blockCount",
            "format" : "int32"
          },
          "rwCtrlKey" : {
            "type" : "string",
            "description" : "RW Control Key"
          },
          "attributeFlag" : {
            "type" : "integer",
            "description" : "Attribute Flags value",
            "format" : "int32"
          },
          "legacyResponseFormat" : {
            "type" : "boolean",
            "description" : "Whether JSON response should be Legacy Mojo Format"
          },
          "filters" : {
            "type" : "array",
            "description" : "filters",
            "items" : {
              "$ref" : "#/components/schemas/PageStateFilter"
            }
          },
          "exprXml" : {
            "type" : "string",
            "description" : "Xml expression for searching elements"
          }
        }
      },
      "PageStateFilter" : {
        "type" : "object",
        "properties" : {
          "ctlType" : {
            "type" : "integer",
            "description" : "Control Type",
            "format" : "int32"
          },
          "objId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "objType" : {
            "type" : "integer",
            "description" : "Object Type",
            "format" : "int32"
          },
          "expFunction" : {
            "type" : "integer",
            "description" : "Expression Function",
            "format" : "int32"
          },
          "expFunctionType" : {
            "type" : "integer",
            "description" : "Expression Function Type, which is a value from the enumeration [EnumDSSXMLExpressionType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLExpressionType.html)",
            "format" : "int32"
          },
          "qualType" : {
            "type" : "integer",
            "description" : "Metric Qualification Type",
            "format" : "int32"
          },
          "formId" : {
            "type" : "string",
            "description" : "Form ID"
          },
          "changeQual" : {
            "type" : "boolean",
            "description" : "Change Qualification"
          },
          "expConstants" : {
            "type" : "array",
            "description" : "Expression Constants",
            "items" : {
              "type" : "string",
              "description" : "Expression Constants"
            }
          },
          "dataType" : {
            "type" : "integer",
            "description" : "Data Type",
            "format" : "int32"
          },
          "keyContext" : {
            "type" : "array",
            "description" : "keyContext",
            "items" : {
              "type" : "string",
              "description" : "keyContext"
            }
          },
          "ctlKey" : {
            "type" : "string",
            "description" : "ctlKey"
          },
          "filterType" : {
            "type" : "string",
            "description" : "filterType : refer to @EnumFilterType class -  ex. CHAPTER, GLOBAL, IN_CANVAS",
            "enum" : [ "UNKNOWN", "CHAPTER", "GLOBAL", "IN_CANVAS" ]
          },
          "include" : {
            "type" : "boolean",
            "description" : "include(true) vs exclude(false)"
          },
          "includeUpdated" : {
            "type" : "boolean",
            "description" : "includeUpdated - to switch style from include to exclude or vice versa"
          },
          "hses" : {
            "type" : "boolean",
            "description" : "hide selected elements"
          },
          "unset" : {
            "type" : "boolean",
            "description" : "unset"
          },
          "elemList" : {
            "type" : "array",
            "description" : "selected filters elemList",
            "items" : {
              "type" : "string",
              "description" : "selected filters elemList"
            }
          },
          "exprXml" : {
            "type" : "string",
            "description" : "selected filters expression XML"
          }
        },
        "description" : "Page state filters"
      },
      "GlobalFilterAffectedPages" : {
        "type" : "object",
        "properties" : {
          "nodeKeys" : {
            "type" : "array",
            "description" : "List of node keys",
            "items" : {
              "type" : "string",
              "description" : "List of node keys"
            }
          }
        },
        "description" : "Affected pages for Filter"
      },
      "GlobalFilterResponse" : {
        "type" : "object",
        "properties" : {
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time",
            "format" : "date-time"
          },
          "pageStateHash" : {
            "type" : "string",
            "description" : "Page state hash"
          },
          "affectedPages" : {
            "$ref" : "#/components/schemas/GlobalFilterAffectedPages"
          },
          "jobId" : {
            "type" : "integer",
            "description" : "Job ID",
            "format" : "int32"
          }
        }
      },
      "LastModifiedTime" : {
        "type" : "object",
        "properties" : {
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time",
            "format" : "date-time"
          }
        }
      },
      "PageOptions" : {
        "type" : "object",
        "properties" : {
          "resolveOnly" : {
            "type" : "boolean",
            "description" : "Specify whether to execute the dossier immediately. If true, do not execute immediately, just resolve prompts; if false, execute immediately"
          },
          "pageState" : {
            "$ref" : "#/components/schemas/PageState"
          }
        },
        "description" : "Wrapper for pageState JSON Element"
      },
      "PageState" : {
        "type" : "object",
        "properties" : {
          "widgetState" : {
            "$ref" : "#/components/schemas/WidgetState"
          },
          "filters" : {
            "type" : "array",
            "description" : "Page state filters",
            "items" : {
              "$ref" : "#/components/schemas/PageStateFilter"
            }
          },
          "siblingsPageKeys" : {
            "type" : "array",
            "description" : "(Optional) Node keys for Sibling of current page. If provided, Rest server will populate affected pages by current manipulation",
            "items" : {
              "type" : "string",
              "description" : "(Optional) Node keys for Sibling of current page. If provided, Rest server will populate affected pages by current manipulation"
            }
          },
          "timezoneId" : {
            "type" : "string",
            "description" : "Time zone ID for current dossier"
          }
        },
        "description" : "Page state"
      },
      "WidgetState" : {
        "type" : "object",
        "properties" : {
          "actions" : {
            "type" : "string",
            "description" : "Legacy Action JSON object {\"actions\":[{ ...}] }"
          }
        },
        "description" : "Widget state JSON for widget RWManipulations"
      },
      "PublishInfo" : {
        "type" : "object",
        "properties" : {
          "personalViewId" : {
            "type" : "string",
            "description" : "Shared personal view ID"
          },
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time",
            "format" : "date-time"
          },
          "version" : {
            "type" : "string",
            "description" : "dossier's object version"
          },
          "managedCopyId" : {
            "type" : "string",
            "description" : "Managed copy ID"
          }
        },
        "description" : "Publish Info"
      },
      "PublishInfoWrapper" : {
        "type" : "object",
        "properties" : {
          "publishInfo" : {
            "$ref" : "#/components/schemas/PublishInfo"
          }
        },
        "description" : "Dossier Publish Info"
      },
      "DossierPublishRequest" : {
        "type" : "object",
        "properties" : {
          "srcId" : {
            "type" : "string",
            "description" : "Source Object/Instance Id"
          },
          "publishedToUsers" : {
            "type" : "array",
            "description" : "publishedToUsers. If none provided, Everyone will be considered.",
            "items" : {
              "type" : "string",
              "description" : "publishedToUsers. If none provided, Everyone will be considered."
            }
          },
          "publishAction" : {
            "type" : "string",
            "description" : "Publish Action - publish/republish/unpublish",
            "enum" : [ "PUBLISH", "UNPUBLISH", "PUBLISH_AFTER_EDITING" ]
          },
          "isInstance" : {
            "type" : "boolean",
            "description" : "whether this is an in-memory instance"
          }
        }
      },
      "DossierPersonalViewInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "dossier personal view id"
          },
          "name" : {
            "type" : "string",
            "description" : "dossier personal view name"
          }
        }
      },
      "DossierPersonalViewRequest" : {
        "type" : "object",
        "properties" : {
          "sourceObjID" : {
            "type" : "string",
            "description" : "Source Object DSS ID"
          },
          "targetName" : {
            "type" : "string",
            "description" : "target Name"
          },
          "override" : {
            "type" : "boolean",
            "description" : "Override flag"
          }
        }
      },
      "BaseManipulation" : {
        "type" : "object",
        "properties" : {
          "action" : {
            "type" : "string",
            "description" : "The manipulation action",
            "enum" : [ "setFilter", "setCurrentPanel" ]
          }
        },
        "description" : "The manipulation actions inside the chapter",
        "discriminator" : {
          "propertyName" : "action"
        }
      },
      "DossierChapterManipulations" : {
        "required" : [ "actions", "chapterKey" ],
        "type" : "object",
        "properties" : {
          "chapterKey" : {
            "type" : "string",
            "description" : "the chapter key"
          },
          "actions" : {
            "type" : "array",
            "description" : "The manipulation actions inside the chapter",
            "items" : {
              "$ref" : "#/components/schemas/BaseManipulation"
            }
          }
        }
      },
      "SetCurrentPanelManipulation" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/BaseManipulation"
        }, {
          "type" : "object",
          "properties" : {
            "panelKey" : {
              "type" : "string",
              "description" : "The selected panel key"
            }
          }
        } ]
      },
      "SetFilterManipulation" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/BaseManipulation"
        }, {
          "type" : "object",
          "properties" : {
            "filterKey" : {
              "type" : "string",
              "description" : "The filter key"
            },
            "currentSelection" : {
              "$ref" : "#/components/schemas/SelectorSelectionInfo"
            },
            "vizAsFilter" : {
              "type" : "boolean"
            }
          }
        } ]
      },
      "DossierCreationBody" : {
        "type" : "object",
        "properties" : {
          "linkingInfo" : {
            "$ref" : "#/components/schemas/CrossLinkingInfoDTO"
          },
          "bookmarkInfo" : {
            "$ref" : "#/components/schemas/BookmarkInfo"
          },
          "resolveOnly" : {
            "type" : "boolean",
            "description" : "Indicates whether to resolve the dossier"
          },
          "ignoreMissingFilter" : {
            "type" : "boolean",
            "description" : "Support the following matching rules for identifying the filter based on; filter key, filter name, filter target(attribute/metric) name, filter target(attribute/metric) id: STRICT - request fails if not found, LENIENT - request does not fail if not found"
          },
          "filters" : {
            "type" : "array",
            "description" : "Filter expressions",
            "items" : {
              "$ref" : "#/components/schemas/FilterInfo"
            }
          },
          "prompts" : {
            "type" : "array",
            "description" : "Prompts expressions. It is two-dimensional array to support the prompts in prompts case. Each element in the outer array represents one-level prompts, and each element in the inner array represents a prompt answer.",
            "items" : {
              "type" : "array",
              "description" : "Prompts expressions. It is two-dimensional array to support the prompts in prompts case. Each element in the outer array represents one-level prompts, and each element in the inner array represents a prompt answer.",
              "items" : {
                "$ref" : "#/components/schemas/PromptAnswers"
              }
            }
          },
          "bookmarkIds" : {
            "type" : "array",
            "description" : "The ID list of shared Bookmarks",
            "items" : {
              "type" : "string",
              "description" : "The ID list of shared Bookmarks"
            }
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Application ID"
          },
          "persistViewState" : {
            "type" : "boolean",
            "description" : "Specifies whether manipulations that have been performed on a dossier or document instance should be saved in the published version. When a dossier or a document is published to users, the recipients can access either the base document or the published version. When this flag is set to “true”, it is the published view that is executed and all manipulations that the user performs on the dossier or document instance are auto-saved in the published view."
          },
          "enableParallelRendering" : {
            "type" : "boolean",
            "description" : "Indicates whether to enable parallel rendering for the instance"
          },
          "initialPageKey" : {
            "type" : "string",
            "description" : "Indicates the initialPageKey for the instance"
          },
          "parallelRenderingAfterManipulation" : {
            "type" : "boolean",
            "description" : "This parameter defines whether we should allow parallel rendering after the particular manipulation"
          },
          "applyFilterResolveOnly" : {
            "type" : "boolean",
            "description" : "This parameter defines whether we apply the filter in resolveOnly mode"
          }
        }
      },
      "DatasetObject" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The existing dataset ID"
          },
          "name" : {
            "type" : "string",
            "description" : "The existing dataset name"
          }
        },
        "description" : "The existing dataset ID"
      },
      "DraftDossierCreationInfo" : {
        "type" : "object",
        "properties" : {
          "applicationId" : {
            "type" : "string",
            "description" : "Library Application ID"
          },
          "templateId" : {
            "type" : "string",
            "description" : "Template ID if any to create a draft dossier from"
          },
          "datasets" : {
            "type" : "array",
            "description" : "The existing dataset ID",
            "items" : {
              "$ref" : "#/components/schemas/DatasetObject"
            }
          }
        }
      },
      "DossierShortcutCaches" : {
        "type" : "object",
        "properties" : {
          "pageKey" : {
            "type" : "string",
            "description" : "Page key"
          },
          "defn" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "definitionCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "dataCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "data" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "definitionCompressedCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "defncompressed" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "datacompressed" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "dataCompressedCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "pageStateHash" : {
            "type" : "string",
            "description" : "The page state hash"
          }
        },
        "description" : "Dossier shortcut caches"
      },
      "DossierShortcutCachesEntity" : {
        "type" : "object",
        "properties" : {
          "currentPageKey" : {
            "type" : "string",
            "description" : "Current page key"
          },
          "caches" : {
            "type" : "array",
            "description" : "Dossier shortcut caches",
            "items" : {
              "$ref" : "#/components/schemas/DossierShortcutCaches"
            }
          },
          "datasetsCacheInfoHash" : {
            "type" : "string",
            "description" : "Datasets cache info hash"
          },
          "dossierVersionHash" : {
            "type" : "string",
            "description" : "Dossier version hash"
          }
        }
      },
      "DatasetsWrapper" : {
        "type" : "object",
        "properties" : {
          "datasets" : {
            "type" : "array",
            "description" : "List of datasets",
            "items" : {
              "$ref" : "#/components/schemas/DataSetDetailInfo"
            }
          }
        }
      },
      "DossierExecutionResultBody" : {
        "type" : "object",
        "properties" : {
          "include" : {
            "type" : "array",
            "description" : "Collection of included bookmarks and pages in the dossiers",
            "items" : {
              "$ref" : "#/components/schemas/IncludeParameter"
            }
          },
          "exclude" : {
            "type" : "array",
            "description" : "Collection of hash value for excluded page execution result",
            "items" : {
              "type" : "string",
              "description" : "Collection of hash value for excluded page execution result"
            }
          },
          "excludePageStateHash" : {
            "type" : "array",
            "description" : "Collection of page state hash values for excluded page execution result",
            "items" : {
              "type" : "string",
              "description" : "Collection of page state hash values for excluded page execution result"
            }
          },
          "resultFlags" : {
            "type" : "integer",
            "description" : "Document result flags that controls contents to be included in response",
            "format" : "int32"
          },
          "detailFlags" : {
            "type" : "integer",
            "description" : "Detail flags that controls addition information for binary result",
            "format" : "int32"
          },
          "maxBinarySize" : {
            "type" : "integer",
            "description" : "Maximum binary result size (in kilobyte)",
            "format" : "int32"
          },
          "backgroundExecution" : {
            "type" : "boolean",
            "description" : "Specifies the execution as a background job"
          },
          "mobilePrecaching" : {
            "type" : "boolean",
            "description" : "Determines if check mobile precaching feature flag"
          },
          "pageIncrementalFetch" : {
            "$ref" : "#/components/schemas/PageIncrementalFetchParameter"
          },
          "gridIncrementalFetch" : {
            "$ref" : "#/components/schemas/GridIncrementalFetchParameter"
          },
          "resetManipulation" : {
            "type" : "boolean",
            "description" : "Specifies whether to run the dossier shortcut instance in its base view"
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Specifies the application id"
          },
          "includePagesLinkInfo" : {
            "type" : "boolean",
            "description" : "Include pages linking info in the result"
          },
          "linkingInfo" : {
            "$ref" : "#/components/schemas/CrossLinkingInfoDTO"
          }
        },
        "description" : "Dossier execution result"
      },
      "GridIncrementalFetchParameter" : {
        "required" : [ "chunkCount" ],
        "type" : "object",
        "properties" : {
          "maxRows" : {
            "type" : "integer",
            "description" : "Maximum number of rows in grid incremental fetch JSON result",
            "format" : "int32"
          },
          "chunkCount" : {
            "type" : "integer",
            "description" : "Specifies the number of grid incremetanl fetch JSON result chunks",
            "format" : "int32"
          }
        },
        "description" : "Include grid incremental fetch JSON result"
      },
      "IncludeParameter" : {
        "required" : [ "bookmarkId" ],
        "type" : "object",
        "properties" : {
          "bookmarkId" : {
            "type" : "string",
            "description" : "The ID of bookmark to be executed for result generation. \"00000000000000000000000000000000\" means dossier shortcut."
          },
          "pageKey" : {
            "type" : "array",
            "description" : "Collection of page node key to be executed for result generation.",
            "items" : {
              "type" : "string",
              "description" : "Collection of page node key to be executed for result generation."
            }
          }
        },
        "description" : "Collection of included bookmarks and pages in the dossiers"
      },
      "PageIncrementalFetchParameter" : {
        "type" : "object",
        "properties" : {
          "maxRows" : {
            "type" : "integer",
            "description" : "Maximum number of rows in page incremental fetch JSON result",
            "format" : "int32"
          }
        },
        "description" : "Include page incremental fetch JSON result"
      },
      "DocumentInstanceExecutionStatusInfo" : {
        "type" : "object",
        "properties" : {
          "prompts" : {
            "type" : "string",
            "description" : "Dossier instance prompts"
          },
          "prompted" : {
            "type" : "boolean",
            "description" : "Is instance prompted"
          },
          "includeValuePrompts" : {
            "type" : "boolean",
            "description" : "Is instance include any value prompts"
          },
          "promptsInfo" : {
            "type" : "array",
            "description" : "Dossier prompts information",
            "items" : {
              "$ref" : "#/components/schemas/PromptDefinition"
            }
          },
          "execution_status" : {
            "type" : "integer",
            "description" : "Execution Status",
            "format" : "int32"
          },
          "execution_progress" : {
            "$ref" : "#/components/schemas/DossierExecutionProgress"
          }
        },
        "description" : "Dossier instance execution status info"
      },
      "DossierExecutionProgress" : {
        "type" : "object",
        "properties" : {
          "current_step" : {
            "type" : "integer",
            "description" : "Execution step",
            "format" : "int32"
          },
          "progress" : {
            "type" : "integer",
            "description" : "Execution progress percent",
            "format" : "int32"
          }
        },
        "description" : "Dossier instance execution progress info"
      },
      "DefinitionDataCacheInfo" : {
        "type" : "object",
        "properties" : {
          "defn" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "definitionCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "dataCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "data" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "definitionCompressedCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "defncompressed" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "datacompressed" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "dataCompressedCache" : {
            "$ref" : "#/components/schemas/CacheInfo"
          },
          "pageStateHash" : {
            "type" : "string",
            "description" : "The page state hash"
          }
        }
      },
      "DossierChapterQueryDetails" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Chapter key"
          },
          "name" : {
            "type" : "string",
            "description" : "Chapter name"
          },
          "visualizations" : {
            "type" : "array",
            "description" : "List of chapter visualizations",
            "items" : {
              "$ref" : "#/components/schemas/GridGraphQueryDetail"
            }
          }
        },
        "description" : "List of chapters"
      },
      "DossierQueryDetails" : {
        "type" : "object",
        "properties" : {
          "chapters" : {
            "type" : "array",
            "description" : "List of chapters",
            "items" : {
              "$ref" : "#/components/schemas/DossierChapterQueryDetails"
            }
          }
        }
      },
      "DossierTreeDefinition" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "datasets" : {
            "type" : "array",
            "description" : "Collection of dataset info",
            "items" : {
              "$ref" : "#/components/schemas/DataSetDetailInfo"
            }
          },
          "currentChapter" : {
            "type" : "string",
            "description" : "Current chapter key in dossier"
          },
          "chapters" : {
            "type" : "array",
            "description" : "Collection of chapters in the dossies",
            "items" : {
              "$ref" : "#/components/schemas/Chapter"
            }
          }
        },
        "description" : "Dossier tree definition"
      },
      "Visualization" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Visualization key"
          },
          "name" : {
            "type" : "string",
            "description" : "Visualization name"
          },
          "result" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "AddDatasetsPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DatasetPatchOperation"
        } ]
      },
      "DatasetPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "addElements", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/datasets",
            "enum" : [ "/datasets" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          },
          "dossierManipulations" : {
            "type" : "array",
            "description" : "List of manipulation actions to be performed on the dataset",
            "items" : {
              "$ref" : "#/components/schemas/DossierManipulationAction"
            }
          }
        },
        "discriminator" : {
          "propertyName" : "op"
        }
      },
      "DossierManipulationAction" : {
        "type" : "object",
        "properties" : {
          "act" : {
            "type" : "string",
            "description" : "Manipulation action"
          }
        },
        "description" : "List of manipulation actions to be performed on the dataset"
      },
      "PatchOperationsDatasetPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DatasetPatchOperation"
            }
          }
        }
      },
      "ReplaceDatasetsPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DatasetPatchOperation"
        } ]
      },
      "DriverInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Driver ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Driver name"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the driver is enabled"
          },
          "retired" : {
            "type" : "boolean",
            "description" : "Whether the driver is retired"
          },
          "isODBC" : {
            "type" : "boolean",
            "description" : "Whether the driver is ODBC"
          }
        },
        "description" : "Drivers' GUID to information map",
        "example" : {
          "GUID1" : {
            "id" : "GUID1",
            "name" : "string",
            "enabled" : false,
            "retired" : false,
            "isODBC" : true
          }
        }
      },
      "DriverWithDataSources" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Driver ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Driver name"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the driver is enabled"
          },
          "retired" : {
            "type" : "boolean",
            "description" : "Whether the driver is retired"
          },
          "datasourceCount" : {
            "type" : "integer",
            "description" : "Number of data sources",
            "format" : "int32"
          },
          "datasources" : {
            "type" : "array",
            "description" : "List of data sources",
            "items" : {
              "type" : "string",
              "description" : "List of data sources"
            }
          },
          "isODBC" : {
            "type" : "boolean",
            "description" : "Whether the driver is ODBC"
          }
        },
        "description" : "Driver info"
      },
      "DriverWithDataSourcesMap" : {
        "type" : "object",
        "properties" : {
          "drivers" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/DriverWithDataSources"
            },
            "description" : "Drivers' GUID to information map",
            "example" : {
              "GUID1" : {
                "id" : "GUID1",
                "name" : "string",
                "enabled" : false,
                "retired" : false,
                "datasourceCount" : 1,
                "datasources" : [ "GUID1" ],
                "isODBC" : true
              }
            }
          }
        }
      },
      "DriverPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/enabled"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        }
      },
      "PatchOperationsDriverPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DriverPatchOperation"
            }
          }
        }
      },
      "DriverInfoMap" : {
        "type" : "object",
        "properties" : {
          "drivers" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/DriverInfo"
            },
            "description" : "Drivers' GUID to information map",
            "example" : {
              "GUID1" : {
                "id" : "GUID1",
                "name" : "string",
                "enabled" : false,
                "retired" : false,
                "isODBC" : true
              }
            }
          }
        }
      },
      "DriversPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/drivers/7358B0B8264A4B6198520B2BC0B6248B/enabled"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        }
      },
      "PatchOperationsDriversPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DriversPatchOperation"
            }
          }
        }
      },
      "DynamicRecipientList" : {
        "required" : [ "device", "linkedUser", "name", "physicalAddress", "sourceReportId" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Dynamic Recipient List name",
            "example" : "New Dynamic Recipient List"
          },
          "id" : {
            "type" : "string",
            "description" : "Dynamic Recipient List ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Dynamic Recipient List Description"
          },
          "sourceReportId" : {
            "type" : "string",
            "description" : "Dynamic Recipient List mapping content object ID"
          },
          "physicalAddress" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "linkedUser" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "device" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "recipientName" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "notificationAddress" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "notificationDevice" : {
            "$ref" : "#/components/schemas/MappingField"
          },
          "personalization" : {
            "$ref" : "#/components/schemas/MappingField"
          }
        }
      },
      "MappingField" : {
        "required" : [ "attributeFormId", "attributeId" ],
        "type" : "object",
        "properties" : {
          "attributeId" : {
            "type" : "string",
            "description" : "Attribute ID of the field."
          },
          "attributeFormId" : {
            "type" : "string",
            "description" : "Attribute form ID of the field."
          }
        },
        "description" : "Mapping field which contains the prompt XML to use to answer prompts on a report or document. The prompts in the content should be a subset of the XML retrieved from the subscription report."
      },
      "DynamicRecipientLists" : {
        "type" : "object",
        "properties" : {
          "listOfDynamicRecipientLists" : {
            "type" : "array",
            "description" : "List of Dynamic Recipient Lists",
            "items" : {
              "$ref" : "#/components/schemas/DynamicRecipientList"
            }
          }
        }
      },
      "Attribute" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The attribute name"
          },
          "id" : {
            "type" : "string",
            "description" : "The attribute unique identifier (GUID)"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Form"
            }
          }
        },
        "description" : "The list of attributes in the model"
      },
      "ElementStatusIndexUnion" : {
        "type" : "object",
        "properties" : {
          "datasets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Dataset"
            }
          }
        }
      },
      "Form" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The form type"
          },
          "isKeyForm" : {
            "type" : "boolean",
            "description" : "Whether this form is a key form"
          },
          "expressions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FormExpression"
            }
          }
        },
        "description" : "The list of forms in the attribute"
      },
      "ElementResultsSearch" : {
        "required" : [ "query" ],
        "type" : "object",
        "properties" : {
          "datasets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SearchDataset"
            }
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int32"
          },
          "searchType" : {
            "type" : "array",
            "items" : {
              "type" : "integer",
              "format" : "int32"
            }
          },
          "flag" : {
            "type" : "integer",
            "format" : "int32"
          },
          "pagination" : {
            "$ref" : "#/components/schemas/Pagination"
          },
          "query" : {
            "type" : "string"
          }
        }
      },
      "SearchAttribute" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SearchForm"
            }
          }
        }
      },
      "SearchDataset" : {
        "required" : [ "id", "locale" ],
        "type" : "object",
        "properties" : {
          "locale" : {
            "type" : "integer",
            "format" : "int32"
          },
          "id" : {
            "type" : "string"
          },
          "instId" : {
            "type" : "string"
          },
          "instVersion" : {
            "type" : "string"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SearchAttribute"
            }
          }
        }
      },
      "SearchForm" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          }
        }
      },
      "EmailCreator" : {
        "required" : [ "notificationType", "userIds" ],
        "type" : "object",
        "properties" : {
          "notificationType" : {
            "type" : "string",
            "description" : "Notification type",
            "enum" : [ "NONE", "DOSSIER_COMMENT", "DOSSIER_PUBLICATION", "USER_CREATION" ]
          },
          "userIds" : {
            "type" : "array",
            "description" : "IDs of the users the email is being sent to",
            "items" : {
              "type" : "string",
              "description" : "IDs of the users the email is being sent to"
            }
          },
          "subject" : {
            "type" : "string",
            "description" : "Content for the subject line of the email"
          },
          "content" : {
            "type" : "string",
            "description" : "Content for the body of the email"
          },
          "isHTML" : {
            "type" : "boolean",
            "description" : "Specifies whether the email content is HTML"
          },
          "extraProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Extra email properties"
            },
            "description" : "Extra email properties"
          }
        }
      },
      "Event" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Event name",
            "example" : "New event"
          },
          "id" : {
            "type" : "string",
            "description" : "Event ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Event description"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time of the event, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the event, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "tenant" : {
            "$ref" : "#/components/schemas/TenantInfo"
          }
        }
      },
      "TenantInfo" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          }
        },
        "description" : "Tenant information of the schedule"
      },
      "Events" : {
        "type" : "object",
        "properties" : {
          "events" : {
            "type" : "array",
            "description" : "List of events",
            "items" : {
              "$ref" : "#/components/schemas/Event"
            }
          }
        }
      },
      "ExcelTemplate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Excel template name",
            "example" : "New excel template"
          },
          "id" : {
            "type" : "string",
            "description" : "Excel template ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Excel template description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the excel template, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the excel template, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether this excel template is a hidden object",
            "readOnly" : true,
            "default" : false
          },
          "sheetNames" : {
            "type" : "array",
            "description" : "List of sheet names",
            "readOnly" : true,
            "items" : {
              "type" : "string",
              "description" : "List of sheet names"
            }
          }
        }
      },
      "ExcelTemplates" : {
        "type" : "object",
        "properties" : {
          "excelTemplates" : {
            "type" : "array",
            "description" : "List of excel templates",
            "items" : {
              "$ref" : "#/components/schemas/ExcelTemplate"
            }
          }
        }
      },
      "FavoriteDatasources" : {
        "type" : "object",
        "properties" : {
          "datasources" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer",
              "description" : "favorite datasource info",
              "format" : "int32"
            },
            "description" : "favorite datasource info",
            "example" : {
              "GUID1" : 1,
              "GUID2" : 1
            }
          }
        }
      },
      "FavoriteDatasourcePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/datasources/UUID1"
          },
          "value" : {
            "type" : "object",
            "description" : "non-zero Integer means favorite and zero means unfavorite.",
            "example" : 1
          }
        }
      },
      "PatchOperationsFavoriteDatasourcePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FavoriteDatasourcePatchOperation"
            }
          }
        }
      },
      "FolderCreationInfo" : {
        "required" : [ "name", "parent" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Folder name"
          },
          "description" : {
            "type" : "string",
            "description" : "Folder description. Default is empty"
          },
          "parent" : {
            "type" : "string",
            "description" : "ID of parent folder"
          }
        }
      },
      "InstanceInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Instance ID"
          }
        }
      },
      "PreDefinedFolderInfo" : {
        "required" : [ "folderType", "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "folderType" : {
            "type" : "integer",
            "description" : "The pre-defined folder type, from [EnumDSSXMLFolderNames](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFolderNames.html)",
            "format" : "int32"
          }
        }
      },
      "PreDefinedFoldersResponse" : {
        "required" : [ "preDefined" ],
        "type" : "object",
        "properties" : {
          "preDefined" : {
            "type" : "array",
            "description" : "A list of pre-defined folders",
            "items" : {
              "$ref" : "#/components/schemas/PreDefinedFolderInfo"
            }
          }
        }
      },
      "ScopeFilterDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "ScopeFilterListDto" : {
        "type" : "object",
        "properties" : {
          "scopeFilters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ScopeFilterDto"
            }
          }
        }
      },
      "GatewayInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Gateway name"
          },
          "id" : {
            "type" : "string",
            "description" : "Gateway id"
          },
          "type" : {
            "type" : "string",
            "description" : "Gateway type",
            "example" : "Relational"
          },
          "groupName" : {
            "type" : "string",
            "description" : "Gateway Group Name",
            "example" : "Microsoft SQL Server"
          },
          "certifiedAsGateway" : {
            "type" : "boolean",
            "description" : "Certified as gateway"
          },
          "dbType" : {
            "type" : "string",
            "description" : "Database type",
            "example" : "sql_server",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "dbVersion" : {
            "type" : "string",
            "description" : "Database version",
            "enum" : [ "default", "reserved", "access_20", "access_2000", "access_2002", "access_2003", "access_2007", "access_70", "actian_vector_4x", "adabase_d6112", "altibase_63x", "amazon_athena_1", "amazon_aurora_1", "amazon_aurora_postgres_compatible", "amazon_document_db", "amazon_dynamno_db", "amazon_redshift", "apache_spark_15", "apache_spark_1x", "arcadia_platform1", "astern_cluster_30", "astern_cluster_40", "astern_cluster_45", "astern_cluster_46", "astern_cluster_50", "astern_cluster_51", "astern_cluster_6", "azure_synapse_analytics", "big_data_engine_1", "calpont_infini_db", "cassandra_2x", "cassandra_3", "cisco_data_virtualization_7x", "click_house", "cloud_gateway_aws_s3_v1", "cloud_gateway_azure_adls2d_v1", "cloud_gateway_google_cloud_storage_v1", "cloud_gateway_v1", "composite_450", "composite_510", "composite_6x", "concur", "connection_cloud1", "databricks", "data_direct_cloud", "datallegro_3x", "cirro_1x", "db_sap_hana1", "denodo_7x", "elasticsearch", "eloqua", "enterprise_db9x", "exasol", "exa_solution3x", "exa_solution40", "exa_solution_5x", "excel_2003", "financial_force", "gbase_8a", "github", "google_big_query", "google_cloud_spanner", "greenplum_3x", "greenplum_4x", "hive_010", "hive_011", "hive_012", "hive_013", "hive_014", "hive_05", "hive_06", "hive_07", "hive_08", "hive_09", "hive_2x", "hive_3x", "hive_duplicate_11x", "hive_thrift", "hive_thrift_08", "hive_thrift_09", "hp_neoview_20", "hp_neoview_22", "hp_neoview_23", "hp_neoview_24", "hp_neoview_25", "hp_vertica_7x", "hubspot", "ibm_big_insights_2x", "ibm_db2_105", "ibm_db2_11forzos", "ibm_db2_400v3r7", "ibm_db2_400v4r1", "ibm_db2_400v4r2", "ibm_db2_400v4r3", "ibm_db2_400v4r4", "ibm_db2_400v4r5", "ibm_db2_400v5r1", "ibm_db2_400v5r2", "ibm_db2_400_v5r4", "ibm_db2_400_v6r1", "ibm_db2_400v7r1", "ibm_db2_cs212", "ibm_db2_os39041", "ibm_db2_os39050", "ibm_db2_os39062", "ibm_db2_os3907", "ibm_db2_os3908", "ibm_db2_pe12", "ibm_info_sphere_big_insights_3x", "ibm_integrated_analytics", "ibm_ips", "ibm_netezza_71x", "ibm_netezza_72x", "ibm_udb_101", "ibm_udb_111", "ibm_udb_52", "ibm_udb_61", "ibm_udb_7", "ibm_udb_8", "ibm_udb_91", "ibm_udb_91zos", "ibm_udb_95", "ibm_udb_97", "ibm_udbeee_50", "ibm_udbsmp_50", "ibm_udb_v10zos", "imdb", "impala_1x", "impala_20", "impala_3x", "infobright_33", "infobright_40", "informatica_91x", "informatica_95", "informatica_96x", "informix_10", "informix_ids_10", "informix_ids_10x11x", "informix_ids_115", "informix_ids_117", "informix_ids12", "informix_ids93", "informix_ids94", "informix_ods724uc1", "informix_ods731", "informix_udo92", "informix_xps82", "informix_xps83", "ingres_10s", "jira", "kafka", "kognitio_7x", "kognitio_8x", "kyvos", "mapd", "maprdrill", "mapr_drill_1x", "maria_db_10x", "maria_db_5x", "marketo", "mark_logic_7x", "mdx_essbase_hyperion", "mdx_essbase_hyperion_11x", "mdx_essbase_hyperion_9", "mdx_essbase_hyperion_9x", "mdx_microsoft_as2000", "mdx_microsoft_as2005", "mdx_microsoft_as2008", "mdx_microsoft_as2016_binary_connector", "mdx_microsoft_as2017_binary_connector", "mdx_microsoft_azure_binary_connector", "mdx_microsoft_as2019_binary_connector", "mdx_microsoft_asfabric_binary_connector", "mdx_ms_as20052008", "mdx_ms_as2012", "mdx_ms_as2012", "mdx_oracle_essbase93", "mdxsapbw30", "mdxsapbw7x", "mdx_sap_hana_2x", "mdxtm1x", "mem_sql_26", "metamatrix_55", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "microsoft_fabric_lakehouse", "mongo_db_2x", "mongo_db_3x", "strategy", "mstr_data_import_server_1", "my_sql_50", "my_sql_51", "mysql_8x", "mysql_9x", "neo4j", "netezza_22", "netezza_25", "netezza_3", "netezza_30", "netezza_4", "netezza_40", "netezza_46", "netezza_4xdblytix10", "netezza_50", "netezza_60", "netezza_70", "odata", "open_access_14", "oracle_21c", "oracle_10g", "oracle_10gr2", "oracle_11g", "oracle_11gr2", "oracle_122", "oracle_12c", "oracle_18c", "oracle_19c", "oracle_733", "oracle_8003", "oracle_805", "oracle_8i", "oracle_8ir2", "oracle8ir2se", "oracle_8ir3", "oracle_9i", "oracle_cx_sales", "oracle_cx_service", "par_accel_2x", "par_accel_3", "par_accel_31x", "par_accel_35", "par_accel_40", "par_accel_50x", "par_accel_51x", "par_stream3x", "paypal", "phoenix_3x", "phoenix_4x", "pig_apache", "pivotal_greenplum", "pivotal_hawq_2x", "pivotal_hawq_3x", "postgre_sql_81", "postgre_sql_82", "postgre_sql_83", "postgre_sql_84", "postgre_sql_90", "postgre_sql_91", "presto", "python", "red_brick_5007", "red_brick_5012", "red_brick_5105", "red_brick_6", "red_brick_61", "red_brick_62", "red_brick_63", "salesforce", "sandcdbms_61", "sandcdbms_71", "sap_bw_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana1_sp5", "sap_hana1_sp7", "sap_hana1_sp8", "sap_hana1_sp9", "sap_hana_2", "sap_s4_hana", "servicemax", "servicenow", "shopify", "snowflake_1x", "solr_search", "spark_shark_09x", "spark_sql_2x", "splunk_6", "sql_denodo_50", "sql_server_2000", "sql_server_2005", "sql_server_2008", "sql_server_2008_native_client", "sql_server_2008r2_par", "sql_server_2012", "sql_server_2012_par", "sql_server_2014", "sql_server_2016", "sql_server_2017", "sql_server_2019", "sql_server_65", "sql_server_70", "sql_server_azure", "square", "starburst", "star_rocks", "sugarcrm", "sybase_adaptive_115", "sybase_adaptive_12", "sybase_adaptive_125", "sybase_ase_15", "sybase_ase_16x", "sybase_iq112", "sybase_iq12", "sybase_iq127", "sybase_iq15", "sybase_iq151", "sybase_iq152", "sybase_iq153", "sybase_iq154", "sybase_iq16", "sybase_sql_112", "sybase_sql_any11", "tandem_mpd_42", "tandem_mpd_45", "tandem_mx1", "teamcity", "teradata_12", "teradata_120", "teradata_13", "teradata_131", "teradata_14", "teradata_141", "teradata_15", "teradata_151", "teradata_160", "teradata_17", "teradata_ntv2r2", "teradata_ntv2r3", "teradata_v2r1", "teradata_v2r20002", "teradata_v2r21", "teradata_v2r3", "teradata_v2r4", "teradata_v2r41", "teradata_v2r5", "teradata_v2r51", "teradata_v2r6", "teradata_v2r61", "teradata_v2r62", "spark_sql3x", "alloydb", "trino", "palantir_foundry", "dremio", "sap_datasphere", "vector_wise15", "vector_wise20x", "vector_wise3x", "vertica_25", "vertica_30", "vertica_40", "vertica_5051", "vertica_60", "xquery", "xquery_bi", "yellowbrick", "cloud_gateway_sharepoint_v1", "cloud_gateway_adobe_analytics_v1", "python_query", "cloud_gateway_jira_v1", "cloud_gateway_cognite_data_fusion_v1" ]
          }
        },
        "description" : "Gateways' GUID to information map",
        "example" : {
          "GUID1" : {
            "id" : "GUID1",
            "name" : "string",
            "type" : "Relational",
            "certifiedAsGateway" : true,
            "dbType" : "sql_server",
            "groupName" : "Microsoft SQL Server"
          }
        }
      },
      "GatewayInfoMap" : {
        "type" : "object",
        "properties" : {
          "gateways" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/GatewayInfo"
            },
            "description" : "Gateways' GUID to information map",
            "example" : {
              "GUID1" : {
                "id" : "GUID1",
                "name" : "string",
                "type" : "Relational",
                "certifiedAsGateway" : true,
                "dbType" : "sql_server",
                "groupName" : "Microsoft SQL Server"
              }
            }
          }
        }
      },
      "GatewayInfoSummary" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Gateway name"
          },
          "id" : {
            "type" : "string",
            "description" : "Gateway id"
          },
          "type" : {
            "type" : "string",
            "description" : "Gateway type",
            "example" : "Relational"
          },
          "groupName" : {
            "type" : "string",
            "description" : "Gateway Group Name",
            "example" : "Microsoft SQL Server"
          },
          "certifiedAsGateway" : {
            "type" : "boolean",
            "description" : "Certified as gateway"
          },
          "dbmsType" : {
            "type" : "integer",
            "description" : "DBMS type",
            "format" : "int32"
          },
          "datasourceCount" : {
            "type" : "integer",
            "description" : "Datasource count",
            "format" : "int32"
          },
          "drivers" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/DriverWithDataSources"
            },
            "description" : "Driver info"
          },
          "dbType" : {
            "type" : "string",
            "description" : "Database type",
            "example" : "sql_server",
            "enum" : [ "reserved", "access", "altibase", "amazon_athena", "amazon_aurora", "amazon_document_db", "amazon_dynamo_db", "amazon_redshift", "arcadia_platform", "aster", "azure_cosmos", "big_data_engine", "cassandra", "cirro", "click_house", "cloud_element", "cloud_gateway", "cloud_gateway_aws_s3", "cloud_gateway_azure_adls_2", "cloud_gateway_google_cloud_storage", "composite", "concur", "connection_cloud", "databricks", "data_direct_cloud", "datallegro", "db2", "denodo", "dremio", "drill", "dropbox", "druid", "elasticsearch", "eloqua", "enterprise_db", "ess_base", "exa_solution", "excel", "facebook", "financialforce", "gbase_8a", "generic", "generic_data_connector", "github", "google_analytics", "google_big_query", "google_big_query_ff_sql", "google_cloud_spanner", "google_drive", "hive", "hive_thrift", "hubspot", "ibm_ips", "impala", "informatica", "informix", "jira", "kafka", "kognitiowx2", "kyvos_mdx", "mapd", "marketo", "mark_logic", "mem_sql", "metamatrix", "microsoft_as", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "mongo_bi", "mongo_db", "strategy", "usl", "my_sql", "neo4j", "neoview", "netezza", "odata", "open_access", "oracle", "oracle_cx_sales", "oracle_cx_service", "oracle_eloqua", "palantir_foundry", "par_accel", "par_stream", "paypal", "phoenix", "pig", "pivotal_hawq", "postgre_sql", "presto", "python", "red_brick", "salesforce", "sand", "sap", "sap_bw4_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana", "sap_hana_mdx", "sap_s4_hana", "search_engine", "servicemax", "servicenow", "shopify", "snow_flake", "spark_config", "spark_sql", "splunk", "sql_server", "square", "starburst", "star_rocks", "sugar_crm", "sybase", "sybase_iq", "sybase_sql_any", "tandem", "teamcity", "teradata", "tm1", "trino", "twitter", "unknown", "url_auth", "vectorwise", "vertica", "xquery", "yellowbrick", "cloud_gateway_sharepoint", "cloud_gateway_adobe_analytics", "python_query", "cloud_gateway_jira", "cloud_gateway_cognite_data_fusion", "github_integration" ]
          },
          "dbVersion" : {
            "type" : "string",
            "description" : "Database version",
            "enum" : [ "default", "reserved", "access_20", "access_2000", "access_2002", "access_2003", "access_2007", "access_70", "actian_vector_4x", "adabase_d6112", "altibase_63x", "amazon_athena_1", "amazon_aurora_1", "amazon_aurora_postgres_compatible", "amazon_document_db", "amazon_dynamno_db", "amazon_redshift", "apache_spark_15", "apache_spark_1x", "arcadia_platform1", "astern_cluster_30", "astern_cluster_40", "astern_cluster_45", "astern_cluster_46", "astern_cluster_50", "astern_cluster_51", "astern_cluster_6", "azure_synapse_analytics", "big_data_engine_1", "calpont_infini_db", "cassandra_2x", "cassandra_3", "cisco_data_virtualization_7x", "click_house", "cloud_gateway_aws_s3_v1", "cloud_gateway_azure_adls2d_v1", "cloud_gateway_google_cloud_storage_v1", "cloud_gateway_v1", "composite_450", "composite_510", "composite_6x", "concur", "connection_cloud1", "databricks", "data_direct_cloud", "datallegro_3x", "cirro_1x", "db_sap_hana1", "denodo_7x", "elasticsearch", "eloqua", "enterprise_db9x", "exasol", "exa_solution3x", "exa_solution40", "exa_solution_5x", "excel_2003", "financial_force", "gbase_8a", "github", "google_big_query", "google_cloud_spanner", "greenplum_3x", "greenplum_4x", "hive_010", "hive_011", "hive_012", "hive_013", "hive_014", "hive_05", "hive_06", "hive_07", "hive_08", "hive_09", "hive_2x", "hive_3x", "hive_duplicate_11x", "hive_thrift", "hive_thrift_08", "hive_thrift_09", "hp_neoview_20", "hp_neoview_22", "hp_neoview_23", "hp_neoview_24", "hp_neoview_25", "hp_vertica_7x", "hubspot", "ibm_big_insights_2x", "ibm_db2_105", "ibm_db2_11forzos", "ibm_db2_400v3r7", "ibm_db2_400v4r1", "ibm_db2_400v4r2", "ibm_db2_400v4r3", "ibm_db2_400v4r4", "ibm_db2_400v4r5", "ibm_db2_400v5r1", "ibm_db2_400v5r2", "ibm_db2_400_v5r4", "ibm_db2_400_v6r1", "ibm_db2_400v7r1", "ibm_db2_cs212", "ibm_db2_os39041", "ibm_db2_os39050", "ibm_db2_os39062", "ibm_db2_os3907", "ibm_db2_os3908", "ibm_db2_pe12", "ibm_info_sphere_big_insights_3x", "ibm_integrated_analytics", "ibm_ips", "ibm_netezza_71x", "ibm_netezza_72x", "ibm_udb_101", "ibm_udb_111", "ibm_udb_52", "ibm_udb_61", "ibm_udb_7", "ibm_udb_8", "ibm_udb_91", "ibm_udb_91zos", "ibm_udb_95", "ibm_udb_97", "ibm_udbeee_50", "ibm_udbsmp_50", "ibm_udb_v10zos", "imdb", "impala_1x", "impala_20", "impala_3x", "infobright_33", "infobright_40", "informatica_91x", "informatica_95", "informatica_96x", "informix_10", "informix_ids_10", "informix_ids_10x11x", "informix_ids_115", "informix_ids_117", "informix_ids12", "informix_ids93", "informix_ids94", "informix_ods724uc1", "informix_ods731", "informix_udo92", "informix_xps82", "informix_xps83", "ingres_10s", "jira", "kafka", "kognitio_7x", "kognitio_8x", "kyvos", "mapd", "maprdrill", "mapr_drill_1x", "maria_db_10x", "maria_db_5x", "marketo", "mark_logic_7x", "mdx_essbase_hyperion", "mdx_essbase_hyperion_11x", "mdx_essbase_hyperion_9", "mdx_essbase_hyperion_9x", "mdx_microsoft_as2000", "mdx_microsoft_as2005", "mdx_microsoft_as2008", "mdx_microsoft_as2016_binary_connector", "mdx_microsoft_as2017_binary_connector", "mdx_microsoft_azure_binary_connector", "mdx_microsoft_as2019_binary_connector", "mdx_microsoft_asfabric_binary_connector", "mdx_ms_as20052008", "mdx_ms_as2012", "mdx_ms_as2012", "mdx_oracle_essbase93", "mdxsapbw30", "mdxsapbw7x", "mdx_sap_hana_2x", "mdxtm1x", "mem_sql_26", "metamatrix_55", "microsoft_dynamics_crm", "microsoft_dynamics_erp", "microsoft_dynamics_365", "microsoft_fabric", "microsoft_fabric_lakehouse", "mongo_db_2x", "mongo_db_3x", "strategy", "mstr_data_import_server_1", "my_sql_50", "my_sql_51", "mysql_8x", "mysql_9x", "neo4j", "netezza_22", "netezza_25", "netezza_3", "netezza_30", "netezza_4", "netezza_40", "netezza_46", "netezza_4xdblytix10", "netezza_50", "netezza_60", "netezza_70", "odata", "open_access_14", "oracle_21c", "oracle_10g", "oracle_10gr2", "oracle_11g", "oracle_11gr2", "oracle_122", "oracle_12c", "oracle_18c", "oracle_19c", "oracle_733", "oracle_8003", "oracle_805", "oracle_8i", "oracle_8ir2", "oracle8ir2se", "oracle_8ir3", "oracle_9i", "oracle_cx_sales", "oracle_cx_service", "par_accel_2x", "par_accel_3", "par_accel_31x", "par_accel_35", "par_accel_40", "par_accel_50x", "par_accel_51x", "par_stream3x", "paypal", "phoenix_3x", "phoenix_4x", "pig_apache", "pivotal_greenplum", "pivotal_hawq_2x", "pivotal_hawq_3x", "postgre_sql_81", "postgre_sql_82", "postgre_sql_83", "postgre_sql_84", "postgre_sql_90", "postgre_sql_91", "presto", "python", "red_brick_5007", "red_brick_5012", "red_brick_5105", "red_brick_6", "red_brick_61", "red_brick_62", "red_brick_63", "salesforce", "sandcdbms_61", "sandcdbms_71", "sap_bw_hana", "sap_bw_odata", "sap_ecc_odata", "sap_hana1_sp5", "sap_hana1_sp7", "sap_hana1_sp8", "sap_hana1_sp9", "sap_hana_2", "sap_s4_hana", "servicemax", "servicenow", "shopify", "snowflake_1x", "solr_search", "spark_shark_09x", "spark_sql_2x", "splunk_6", "sql_denodo_50", "sql_server_2000", "sql_server_2005", "sql_server_2008", "sql_server_2008_native_client", "sql_server_2008r2_par", "sql_server_2012", "sql_server_2012_par", "sql_server_2014", "sql_server_2016", "sql_server_2017", "sql_server_2019", "sql_server_65", "sql_server_70", "sql_server_azure", "square", "starburst", "star_rocks", "sugarcrm", "sybase_adaptive_115", "sybase_adaptive_12", "sybase_adaptive_125", "sybase_ase_15", "sybase_ase_16x", "sybase_iq112", "sybase_iq12", "sybase_iq127", "sybase_iq15", "sybase_iq151", "sybase_iq152", "sybase_iq153", "sybase_iq154", "sybase_iq16", "sybase_sql_112", "sybase_sql_any11", "tandem_mpd_42", "tandem_mpd_45", "tandem_mx1", "teamcity", "teradata_12", "teradata_120", "teradata_13", "teradata_131", "teradata_14", "teradata_141", "teradata_15", "teradata_151", "teradata_160", "teradata_17", "teradata_ntv2r2", "teradata_ntv2r3", "teradata_v2r1", "teradata_v2r20002", "teradata_v2r21", "teradata_v2r3", "teradata_v2r4", "teradata_v2r41", "teradata_v2r5", "teradata_v2r51", "teradata_v2r6", "teradata_v2r61", "teradata_v2r62", "spark_sql3x", "alloydb", "trino", "palantir_foundry", "dremio", "sap_datasphere", "vector_wise15", "vector_wise20x", "vector_wise3x", "vertica_25", "vertica_30", "vertica_40", "vertica_5051", "vertica_60", "xquery", "xquery_bi", "yellowbrick", "cloud_gateway_sharepoint_v1", "cloud_gateway_adobe_analytics_v1", "python_query", "cloud_gateway_jira_v1", "cloud_gateway_cognite_data_fusion_v1" ]
          }
        },
        "description" : "Gateways' GUID to information map"
      },
      "GatewayInfoSummaryMap" : {
        "type" : "object",
        "properties" : {
          "gateways" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/GatewayInfoSummary"
            },
            "description" : "Gateways' GUID to information map"
          }
        }
      },
      "ObjectBackupResponseDto" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "commitId" : {
            "type" : "string",
            "description" : "Commit id after backup, if succeeded"
          },
          "sha" : {
            "type" : "string",
            "description" : "GitHub content sha after backup"
          },
          "contentUnchanged" : {
            "type" : "boolean",
            "description" : "Indicates whether the content is unchanged compared with the last backup"
          },
          "code" : {
            "type" : "string",
            "description" : "Response code"
          },
          "message" : {
            "type" : "string",
            "description" : "Response message, if any"
          }
        }
      },
      "ObjectsBackupResponseDto" : {
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectBackupResponseDto"
            }
          }
        }
      },
      "ObjectBackupRequestDto" : {
        "required" : [ "objectId", "objectType", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "objectType" : {
            "type" : "integer",
            "description" : "Object Type",
            "format" : "int32"
          },
          "comment" : {
            "type" : "string",
            "description" : "Commit comment"
          }
        },
        "description" : "List of objects to be backed up"
      },
      "ObjectsBackupRequestDto" : {
        "required" : [ "objects" ],
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "List of objects to be backed up",
            "items" : {
              "$ref" : "#/components/schemas/ObjectBackupRequestDto"
            }
          }
        }
      },
      "ObjectCommitResponseDto" : {
        "type" : "object",
        "properties" : {
          "commitId" : {
            "type" : "string",
            "description" : "The commit ID of the file"
          },
          "authorName" : {
            "type" : "string",
            "description" : "The name of the author who made the commit"
          },
          "authorEmail" : {
            "type" : "string",
            "description" : "The email of the author who made the commit"
          },
          "commitMessage" : {
            "type" : "string",
            "description" : "The commit message associated with the commit"
          },
          "commitDate" : {
            "type" : "string",
            "description" : "The date when the commit was made"
          }
        },
        "description" : "List of commits"
      },
      "ObjectHistoryResponseDto" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "hasNextPage" : {
            "type" : "boolean",
            "description" : "Indicates if there is a next page"
          },
          "code" : {
            "type" : "string",
            "description" : "Response code"
          },
          "message" : {
            "type" : "string",
            "description" : "Response message, if any"
          },
          "commits" : {
            "type" : "array",
            "description" : "List of commits",
            "items" : {
              "$ref" : "#/components/schemas/ObjectCommitResponseDto"
            }
          }
        }
      },
      "ObjectsHistoryResponseDto" : {
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectHistoryResponseDto"
            }
          }
        }
      },
      "ObjectHistoryRequestDto" : {
        "required" : [ "objectId", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "perPage" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Commits count per page",
            "format" : "int32",
            "example" : 30,
            "default" : 30
          },
          "page" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "Page number",
            "format" : "int32",
            "example" : 1,
            "default" : 1
          }
        },
        "description" : "List of objects to get history for"
      },
      "ObjectsHistoryRequestDto" : {
        "required" : [ "objects" ],
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "List of objects to get history for",
            "items" : {
              "$ref" : "#/components/schemas/ObjectHistoryRequestDto"
            }
          }
        }
      },
      "ObjectRestoreResponseDto" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "sha" : {
            "type" : "string",
            "description" : "Content sha of the restored file"
          },
          "code" : {
            "type" : "string",
            "description" : "Response code"
          },
          "message" : {
            "type" : "string",
            "description" : "Response message, if any"
          }
        }
      },
      "ObjectsRestoreResponseDto" : {
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectRestoreResponseDto"
            }
          }
        }
      },
      "ObjectRestoreRequestDto" : {
        "required" : [ "objectId", "objectType", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "objectType" : {
            "type" : "integer",
            "description" : "Object Type",
            "format" : "int32"
          },
          "commitId" : {
            "type" : "string",
            "description" : "Commit ID to restore the object to, if not provided, the latest commit will be used"
          }
        },
        "description" : "List of objects to be restored"
      },
      "ObjectsRestoreRequestDto" : {
        "required" : [ "objects" ],
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "List of objects to be restored",
            "items" : {
              "$ref" : "#/components/schemas/ObjectRestoreRequestDto"
            }
          }
        }
      },
      "HangDetectorStatus" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "pattern" : "running|stopped",
            "type" : "string",
            "description" : "The status of Hang Detector. It must be either 'running' or 'stopped'."
          }
        }
      },
      "AttributeFormInfo" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "dataType" : {
            "type" : "string",
            "description" : "attribute form data type"
          }
        },
        "description" : "The forms in an attribute",
        "readOnly" : true
      },
      "HierarchyAttributeInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "The object type",
            "readOnly" : true,
            "enum" : [ "unsupported", "attribute", "metric", "hierarchy", "customgroup", "consolidation", "prompt", "template", "filter", "table", "db_table", "fact", "schema", "catalog", "catalog_defn" ]
          },
          "forms" : {
            "type" : "array",
            "description" : "The forms in an attribute",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AttributeFormInfo"
            }
          },
          "acg" : {
            "type" : "integer",
            "description" : "The access granted flag indicates the access privileges of current user",
            "format" : "int32"
          },
          "subType" : {
            "type" : "integer",
            "description" : "The object subtype",
            "format" : "int32"
          }
        },
        "description" : "The attributes in a hierarchy",
        "readOnly" : true
      },
      "HierarchyAttributes" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "array",
            "description" : "The attributes in a hierarchy",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/HierarchyAttributeInfo"
            }
          }
        }
      },
      "InboxMessageIds" : {
        "type" : "object",
        "properties" : {
          "messageIdList" : {
            "type" : "array",
            "description" : "List of message IDs",
            "items" : {
              "type" : "string",
              "description" : "List of message IDs"
            }
          }
        }
      },
      "MessageIdHttpStatusResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "httpStatus" : {
            "type" : "integer",
            "description" : "Message status",
            "format" : "int32"
          },
          "body" : {
            "type" : "string",
            "description" : "Status body"
          }
        },
        "description" : "Message Id and Https Status Response List"
      },
      "MessageIdHttpStatusResponseList" : {
        "type" : "object",
        "properties" : {
          "messageIdStatus" : {
            "type" : "array",
            "description" : "Message Id and Https Status Response List",
            "items" : {
              "$ref" : "#/components/schemas/MessageIdHttpStatusResponse"
            }
          }
        }
      },
      "MessageIdStatusRequest" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "status" : {
            "type" : "string",
            "description" : "Message status",
            "enum" : [ "reserved", "new_message", "read_message", "deleted_message", "working_message", "saved_message" ]
          }
        },
        "description" : "List of message ID with message status"
      },
      "MessageIdStatusRequestList" : {
        "type" : "object",
        "properties" : {
          "messageIdList" : {
            "type" : "array",
            "description" : "List of message ID with message status",
            "items" : {
              "$ref" : "#/components/schemas/MessageIdStatusRequest"
            }
          }
        }
      },
      "InboxMessage" : {
        "required" : [ "messageId", "targetInfo" ],
        "type" : "object",
        "properties" : {
          "messageId" : {
            "type" : "string",
            "description" : "Message id"
          },
          "title" : {
            "type" : "string",
            "description" : "Message title"
          },
          "stateId" : {
            "type" : "integer",
            "description" : "State ID",
            "format" : "int32"
          },
          "saveStateId" : {
            "type" : "integer",
            "description" : "save state ID",
            "format" : "int32"
          },
          "serverStateId" : {
            "type" : "integer",
            "description" : "Server state Id",
            "format" : "int32"
          },
          "messageType" : {
            "type" : "string",
            "description" : "Message type",
            "enum" : [ "reserved", "general", "persistent", "active" ]
          },
          "status" : {
            "type" : "string",
            "description" : "Message status",
            "enum" : [ "reserved", "new_message", "read_message", "deleted_message", "working_message", "saved_message" ]
          },
          "sequenceNumber" : {
            "type" : "integer",
            "description" : "sequence number",
            "format" : "int32"
          },
          "parentId" : {
            "type" : "string",
            "description" : "Parent message ID"
          },
          "clientType" : {
            "type" : "string",
            "description" : "Client type"
          },
          "requestType" : {
            "type" : "string",
            "description" : "Request type",
            "enum" : [ "reserved", "report", "dynamic_report", "document", "workbook", "child_report", "search", "datamart_report", "report_writing_doc", "rw_dataset", "dynamic_report_writing_Doc", "cube", "incremental_fetch_report" ]
          },
          "requestStatus" : {
            "type" : "string",
            "description" : "Request status",
            "enum" : [ "msg_id", "result", "prompt_xml", "error_msg_xml", "job_running", "in_sql_engine", "in_query_engine", "in_analytical_engine", "in_resolution", "waiting_for_cache", "updating_cache", "waiting", "waiting_on_governor", "waiting_for_project", "waiting_for_children", "preparing_output", "construct_result", "html_result", "xml_result", "running_on_other_node", "loading_prompt", "in_export_engine", "need_to_get_results", "user_request_async_export", "user_requested_object_deleted_from_md" ]
          },
          "startTime" : {
            "type" : "string",
            "description" : "Request start time"
          },
          "startTimeUtc" : {
            "type" : "string",
            "description" : "The start time in UTC",
            "format" : "date-time"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Request finish time"
          },
          "finishTimeUtc" : {
            "type" : "string",
            "description" : "The finish time in UTC",
            "format" : "date-time"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "The creation time in UTC",
            "format" : "date-time"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/TargetInfo"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Project name"
          },
          "resultFlags" : {
            "type" : "string",
            "description" : "Result flags, value from EnumDSSXMLResultFlags",
            "enum" : [ "dtls_expr_nothing", "dtls_expr_embedded", "dtls_expr_all", "xml_sql", "template_limit", "template_units", "working_set", "no_derived_prompt_xml", "dtls_filter_expr", "xml_display_properties", "no_resolution", "graph", "filter", "banding_auto_apply", "rw_data", "drill_high", "drill_medium", "drill_low", "result_grid", "banding_style", "folder_path", "related_reports", "no_page_header", "minimal", "view_report", "put_to_inbox_read", "status_only_if_not_ready", "number_formatting", "inbox_message", "default_format_properties", "datamart_table_name", "page_tree_style", "preserve", "positive_flags" ]
          },
          "cacheId" : {
            "type" : "string",
            "description" : "cache ID"
          },
          "messageText" : {
            "type" : "string",
            "description" : "message text"
          },
          "displayName" : {
            "type" : "string",
            "description" : "display name, use this instead of object name if present"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Owner name for the user who created this message"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner ID for the user who executed the target object to crate this message"
          },
          "locale" : {
            "type" : "integer",
            "description" : "Locale lcid",
            "format" : "int32"
          },
          "language" : {
            "type" : "string",
            "description" : "Language"
          },
          "children" : {
            "type" : "array",
            "description" : "Children messages--for documents and dossiers",
            "items" : {
              "$ref" : "#/components/schemas/InboxMessage"
            }
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View Media",
            "format" : "int32"
          },
          "inboxMessageFlag" : {
            "type" : "integer",
            "description" : "Inbox message flag",
            "format" : "int32"
          }
        },
        "description" : "List of Inbox Messages"
      },
      "InboxMessageDetails" : {
        "required" : [ "messageId", "targetInfo" ],
        "type" : "object",
        "properties" : {
          "messageId" : {
            "type" : "string",
            "description" : "Message id"
          },
          "title" : {
            "type" : "string",
            "description" : "Message title"
          },
          "stateId" : {
            "type" : "integer",
            "description" : "State ID",
            "format" : "int32"
          },
          "saveStateId" : {
            "type" : "integer",
            "description" : "save state ID",
            "format" : "int32"
          },
          "serverStateId" : {
            "type" : "integer",
            "description" : "Server state Id",
            "format" : "int32"
          },
          "messageType" : {
            "type" : "string",
            "description" : "Message type",
            "enum" : [ "reserved", "general", "persistent", "active" ]
          },
          "status" : {
            "type" : "string",
            "description" : "Message status",
            "enum" : [ "reserved", "new_message", "read_message", "deleted_message", "working_message", "saved_message" ]
          },
          "sequenceNumber" : {
            "type" : "integer",
            "description" : "sequence number",
            "format" : "int32"
          },
          "parentId" : {
            "type" : "string",
            "description" : "Parent message ID"
          },
          "clientType" : {
            "type" : "string",
            "description" : "Client type"
          },
          "requestType" : {
            "type" : "string",
            "description" : "Request type",
            "enum" : [ "reserved", "report", "dynamic_report", "document", "workbook", "child_report", "search", "datamart_report", "report_writing_doc", "rw_dataset", "dynamic_report_writing_Doc", "cube", "incremental_fetch_report" ]
          },
          "requestStatus" : {
            "type" : "string",
            "description" : "Request status",
            "enum" : [ "msg_id", "result", "prompt_xml", "error_msg_xml", "job_running", "in_sql_engine", "in_query_engine", "in_analytical_engine", "in_resolution", "waiting_for_cache", "updating_cache", "waiting", "waiting_on_governor", "waiting_for_project", "waiting_for_children", "preparing_output", "construct_result", "html_result", "xml_result", "running_on_other_node", "loading_prompt", "in_export_engine", "need_to_get_results", "user_request_async_export", "user_requested_object_deleted_from_md" ]
          },
          "startTime" : {
            "type" : "string",
            "description" : "Request start time"
          },
          "startTimeUtc" : {
            "type" : "string",
            "description" : "The start time in UTC",
            "format" : "date-time"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Request finish time"
          },
          "finishTimeUtc" : {
            "type" : "string",
            "description" : "The finish time in UTC",
            "format" : "date-time"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "The creation time in UTC",
            "format" : "date-time"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/TargetInfo"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Project name"
          },
          "resultFlags" : {
            "type" : "string",
            "description" : "Result flags, value from EnumDSSXMLResultFlags",
            "enum" : [ "dtls_expr_nothing", "dtls_expr_embedded", "dtls_expr_all", "xml_sql", "template_limit", "template_units", "working_set", "no_derived_prompt_xml", "dtls_filter_expr", "xml_display_properties", "no_resolution", "graph", "filter", "banding_auto_apply", "rw_data", "drill_high", "drill_medium", "drill_low", "result_grid", "banding_style", "folder_path", "related_reports", "no_page_header", "minimal", "view_report", "put_to_inbox_read", "status_only_if_not_ready", "number_formatting", "inbox_message", "default_format_properties", "datamart_table_name", "page_tree_style", "preserve", "positive_flags" ]
          },
          "cacheId" : {
            "type" : "string",
            "description" : "cache ID"
          },
          "messageText" : {
            "type" : "string",
            "description" : "message text"
          },
          "displayName" : {
            "type" : "string",
            "description" : "display name, use this instead of object name if present"
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Owner name for the user who created this message"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner ID for the user who executed the target object to crate this message"
          },
          "locale" : {
            "type" : "integer",
            "description" : "Locale lcid",
            "format" : "int32"
          },
          "language" : {
            "type" : "string",
            "description" : "Language"
          },
          "children" : {
            "type" : "array",
            "description" : "Children messages--for documents and dossiers",
            "items" : {
              "$ref" : "#/components/schemas/InboxMessage"
            }
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View Media",
            "format" : "int32"
          },
          "inboxMessageFlag" : {
            "type" : "integer",
            "description" : "Inbox message flag",
            "format" : "int32"
          },
          "jobStats" : {
            "$ref" : "#/components/schemas/JobStats"
          },
          "messageStats" : {
            "$ref" : "#/components/schemas/MessageStats"
          },
          "reportDetails" : {
            "type" : "string",
            "description" : "Report details"
          }
        }
      },
      "JobStats" : {
        "type" : "object",
        "properties" : {
          "startTime" : {
            "type" : "string",
            "description" : "Job start Time, date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', timezone: 'UTC'"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Job finish Time, date format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', timezone: 'UTC'"
          },
          "totalRows" : {
            "type" : "integer",
            "description" : "Total rows",
            "format" : "int32"
          },
          "totalColumns" : {
            "type" : "integer",
            "description" : "Total columns",
            "format" : "int32"
          },
          "rowsOfRawData" : {
            "type" : "integer",
            "description" : "Rows in raw data",
            "format" : "int32"
          },
          "columnsOfRawData" : {
            "type" : "integer",
            "description" : "Columns in raw data",
            "format" : "int32"
          },
          "cacheUsed" : {
            "type" : "boolean",
            "description" : "Cache used"
          },
          "jobId" : {
            "type" : "string",
            "description" : "job ID"
          },
          "sql" : {
            "type" : "string",
            "description" : "SQL"
          }
        },
        "description" : "Job stats of the message"
      },
      "MessageStats" : {
        "type" : "object",
        "properties" : {
          "language" : {
            "type" : "string",
            "description" : "language"
          },
          "owner" : {
            "type" : "string",
            "description" : "Owner of the message"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Last update time"
          },
          "status" : {
            "type" : "string",
            "description" : "Status",
            "enum" : [ "msg_id", "result", "prompt_xml", "error_msg_xml", "job_running", "in_sql_engine", "in_query_engine", "in_analytical_engine", "in_resolution", "waiting_for_cache", "updating_cache", "waiting", "waiting_on_governor", "waiting_for_project", "waiting_for_children", "preparing_output", "construct_result", "html_result", "xml_result", "running_on_other_node", "loading_prompt", "in_export_engine", "need_to_get_results", "user_request_async_export", "user_requested_object_deleted_from_md" ]
          },
          "readStatus" : {
            "type" : "string",
            "description" : "Read status",
            "enum" : [ "reserved", "new_message", "read_message", "deleted_message", "working_message", "saved_message" ]
          },
          "requestType" : {
            "type" : "string",
            "description" : "Request type",
            "enum" : [ "reserved", "report", "dynamic_report", "document", "workbook", "child_report", "search", "datamart_report", "report_writing_doc", "rw_dataset", "dynamic_report_writing_Doc", "cube", "incremental_fetch_report" ]
          },
          "application" : {
            "type" : "string",
            "description" : "Client application type"
          },
          "messageId" : {
            "type" : "string",
            "description" : "message ID"
          },
          "messageText" : {
            "type" : "string",
            "description" : "Message Text"
          }
        },
        "description" : "Message stats"
      },
      "MessageInstance" : {
        "type" : "object",
        "properties" : {
          "messageId" : {
            "type" : "string",
            "description" : "Message ID"
          }
        }
      },
      "SendToHistoryListInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          },
          "msgId" : {
            "type" : "string",
            "description" : "Message ID"
          },
          "displayName" : {
            "type" : "string",
            "description" : "Display name"
          }
        },
        "description" : "List of message info objects"
      },
      "WebServerStatus" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Web server status. For example, restarting",
            "enum" : [ "UNKNOWN", "RESTARTING" ]
          }
        }
      },
      "HighlightSettings" : {
        "required" : [ "enable-overlay-highlighting" ],
        "type" : "object",
        "properties" : {
          "enable-overlay-highlighting" : {
            "$ref" : "#/components/schemas/WebsiteFilter"
          }
        },
        "description" : "Highlighting settings"
      },
      "HyperConfiguration" : {
        "required" : [ "highlighting" ],
        "type" : "object",
        "properties" : {
          "disabled-websites" : {
            "type" : "array",
            "description" : "List of disabled websites",
            "items" : {
              "type" : "string",
              "description" : "List of disabled websites"
            }
          },
          "highlighting" : {
            "$ref" : "#/components/schemas/HighlightSettings"
          }
        }
      },
      "WebsiteFilter" : {
        "required" : [ "websites" ],
        "type" : "object",
        "properties" : {
          "websites" : {
            "type" : "array",
            "description" : "List of websites",
            "items" : {
              "type" : "string",
              "description" : "List of websites"
            }
          },
          "exclude-websites" : {
            "type" : "array",
            "description" : "List of websites to exclude",
            "items" : {
              "type" : "string",
              "description" : "List of websites to exclude"
            }
          }
        },
        "description" : "Settings for overlay highlightings"
      },
      "Template" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Template ID"
          },
          "defaultLayout" : {
            "type" : "string",
            "description" : "Default layout of the template"
          },
          "layouts" : {
            "type" : "array",
            "description" : "Layouts of the template",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object",
                "description" : "Layouts of the template"
              },
              "description" : "Layouts of the template"
            }
          }
        }
      },
      "ReportInstanceUpdateInfoRequestedObjectsV1SortingConfigV1" : {
        "type" : "object",
        "properties" : {
          "viewFilter" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "metricLimits" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "description" : "Metric limits"
          },
          "sorting" : {
            "$ref" : "#/components/schemas/SortingConfigV1"
          },
          "subtotals" : {
            "$ref" : "#/components/schemas/SubtotalsConfig"
          },
          "currentPageBy" : {
            "type" : "array",
            "description" : "The current Page by",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "properties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Properties of the report instance"
              },
              "description" : "Properties of the report instance"
            },
            "description" : "Properties of the report instance"
          },
          "empty" : {
            "type" : "boolean",
            "description" : "Check if nothing for manipulation--report only. For cube, an ad-hoc template is always constructed."
          },
          "template" : {
            "$ref" : "#/components/schemas/RequestedObjectsV1"
          }
        }
      },
      "AttributeElement" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Element ID"
          },
          "formValues" : {
            "type" : "array",
            "description" : "Form Values",
            "items" : {
              "type" : "string",
              "description" : "Form Values"
            }
          }
        }
      },
      "CardObjectInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "defaultCardStatus" : {
            "type" : "string",
            "description" : "Card Status",
            "enum" : [ "unknown", "off", "on" ]
          }
        }
      },
      "IamResponseInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "IAM name"
          },
          "description" : {
            "type" : "string",
            "description" : "Description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The object creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The object last updated time in UTC",
            "format" : "date-time"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "vendor" : {
            "type" : "string",
            "description" : "The vendor that supports OAuth authentication",
            "enum" : [ "IDPTYPE_AZUREAD", "IDPTYPE_OKTA", "IDPTYPE_GOOGLE", "IDPTYPE_SF_PROD", "IDPTYPE_SF_SANDBOX", "IDPTYPE_ADFS", "IDPTYPE_AWS_COGNITO_W_ID_POOL_A_USR_POOL", "IDPTYPE_DROPBOX", "IDPTYPE_TWITTER", "IDPTYPE_CC", "IDPTYPE_ADOBE", "IDPTYPE_ATLASSIAN", "IDPTYPE_PINGONE", "IDPTYPE_MOSAIC", "IDPTYPE_GOOGLE_EXPORT", "IDPTYPE_GITHUB", "IDPTYPE_GENERIC", "UNSUPPORTED" ]
          },
          "initAuthUrl" : {
            "type" : "string",
            "description" : "OAuth Authorization URI"
          },
          "tokenUrl" : {
            "type" : "string",
            "description" : "The token endpoint where apps make a request to get an access token"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client id"
          },
          "scope" : {
            "type" : "string",
            "description" : "Scope"
          },
          "others" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Others used for extension"
            },
            "description" : "Others used for extension"
          },
          "clientIdForWs" : {
            "type" : "string",
            "description" : "Client id for WS"
          },
          "scopeForWs" : {
            "type" : "string",
            "description" : "Scope for WS"
          },
          "othersForWs" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Others used for extension for WS"
            },
            "description" : "Others used for extension for WS"
          },
          "clientIdForIos" : {
            "type" : "string",
            "description" : "Client id for IOS"
          },
          "scopeForIos" : {
            "type" : "string",
            "description" : "Scope for IOS"
          },
          "othersForIos" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Others used for extension for IOS"
            },
            "description" : "Others used for extension for IOS"
          },
          "clientIdForAndroid" : {
            "type" : "string",
            "description" : "Client id for Android"
          },
          "scopeForAndroid" : {
            "type" : "string",
            "description" : "Scope for Android"
          },
          "othersForAndroid" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Others used for extension for Android"
            },
            "description" : "Others used for extension for Android"
          }
        }
      },
      "IamRequestInfo" : {
        "required" : [ "clientId", "initAuthUrl", "name", "tokenUrl", "vendor" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "IAM name"
          },
          "description" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "Description"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden",
            "default" : false
          },
          "vendor" : {
            "type" : "string",
            "description" : "The vendor that supports OAuth authentication",
            "enum" : [ "IDPTYPE_AZUREAD", "IDPTYPE_OKTA", "IDPTYPE_GOOGLE", "IDPTYPE_SF_PROD", "IDPTYPE_SF_SANDBOX", "IDPTYPE_ADFS", "IDPTYPE_AWS_COGNITO_W_ID_POOL_A_USR_POOL", "IDPTYPE_DROPBOX", "IDPTYPE_TWITTER", "IDPTYPE_CC", "IDPTYPE_ADOBE", "IDPTYPE_ATLASSIAN", "IDPTYPE_PINGONE", "IDPTYPE_MOSAIC", "IDPTYPE_GOOGLE_EXPORT", "IDPTYPE_GITHUB", "IDPTYPE_GENERIC", "UNSUPPORTED" ]
          },
          "initAuthUrl" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "OAuth Authorization URI"
          },
          "tokenUrl" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "The token endpoint where apps make a request to get an access token"
          },
          "clientId" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "Client id"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "Client secret"
          },
          "apiKey" : {
            "type" : "string",
            "description" : "API Key"
          },
          "scope" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting."
          },
          "others" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Property holding JSON object with extra parameters"
            },
            "description" : "Property holding JSON object with extra parameters"
          },
          "clientIdForWs" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "Client id for Workstation"
          },
          "clientSecretForWs" : {
            "type" : "string",
            "description" : "Client secret for Workstation"
          },
          "scopeForWs" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting for Workstation."
          },
          "othersForWs" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Property holding JSON object with extra parameters for Workstation"
            },
            "description" : "Property holding JSON object with extra parameters for Workstation"
          },
          "clientIdForIos" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "Client id for iOS"
          },
          "clientSecretForIos" : {
            "type" : "string",
            "description" : "Client secret for iOS"
          },
          "scopeForIos" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting for iOS."
          },
          "othersForIos" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Property holding JSON object with extra parameters for iOS"
            },
            "description" : "Property holding JSON object with extra parameters for iOS"
          },
          "clientIdForAndroid" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "Client id for Android"
          },
          "clientSecretForAndroid" : {
            "type" : "string",
            "description" : "Client secret for Android"
          },
          "scopeForAndroid" : {
            "maxLength" : 2048,
            "minLength" : 0,
            "type" : "string",
            "description" : "List of delegated permissions that the app is requesting for Android."
          },
          "othersForAndroid" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "description" : "Property holding JSON object with extra parameters for Android"
            },
            "description" : "Property holding JSON object with extra parameters for Android"
          }
        }
      },
      "IamPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/vendor",
            "enum" : [ "/name", "/description", "/vendor", "/initAuthUrl", "/tokenUrl", "/clientId", "/clientSecret", "/scope", "/others", "/clientIdForWs", "/clientSecretForWs", "/scopeForWs", "/othersForWs", "/clientIdForIos", "/clientSecretForIos", "/scopeForIos", "/othersForIos", "/clientIdForAndroid", "/clientSecretForAndroid", "/scopeForAndroid", "/othersForAndroid", "/apiKey" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "IDPTYPE_AZUREAD"
          }
        }
      },
      "PatchOperationsIamPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/IamPatchOperation"
            }
          }
        }
      },
      "Images" : {
        "type" : "object",
        "properties" : {
          "images" : {
            "type" : "array",
            "description" : "List of images",
            "items" : {
              "$ref" : "#/components/schemas/Image"
            }
          }
        }
      },
      "JobId" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Combined Job ID,  identifying any task executing on I-Server. This property serves the purposes of job monitoring. "
          },
          "jobId" : {
            "type" : "integer",
            "description" : "Job ID, identifying any task executing on I-Server. ",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance ID associated with the job"
          }
        }
      },
      "IncrementalRefreshReport" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Incremental refresh report ID",
            "readOnly" : true
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the incremental refresh report instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the incremental refresh report instance"
          }
        }
      },
      "InterfaceLanguage" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "subType" : {
            "type" : "string",
            "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
          },
          "baseLanguageId" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "owner" : {
            "$ref" : "#/components/schemas/User"
          },
          "lastModified" : {
            "type" : "string"
          },
          "acg" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "description" : "Interface language information"
      },
      "InterfaceLanguages" : {
        "type" : "object",
        "properties" : {
          "interfaceLanguages" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InterfaceLanguage"
            }
          }
        },
        "description" : "Collection of interface language objects"
      },
      "User" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User ID"
          },
          "name" : {
            "type" : "string",
            "description" : "User name"
          }
        },
        "description" : "Owner of language"
      },
      "FenceDetailed" : {
        "type" : "object",
        "properties" : {
          "rank" : {
            "type" : "integer",
            "description" : "Rank or precedence of the fence.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the fence."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fence.",
            "enum" : [ "user_fence", "workload_fence", "reserved" ]
          },
          "nodes" : {
            "type" : "array",
            "description" : "List of nodes across which the fence is applied.",
            "items" : {
              "type" : "string",
              "description" : "List of nodes across which the fence is applied."
            }
          },
          "users" : {
            "type" : "array",
            "description" : "List of users with user ID and user name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "usergroups" : {
            "type" : "array",
            "description" : "List of usergroups with usergroup ID and usergroup name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "projects" : {
            "type" : "array",
            "description" : "List of project with project ID and project name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          }
        }
      },
      "FenceCreationBody" : {
        "required" : [ "name", "nodes", "rank", "type" ],
        "type" : "object",
        "properties" : {
          "rank" : {
            "type" : "integer",
            "description" : "Rank or precedence of the fence, integer greater than 0",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the fence."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fence.",
            "enum" : [ "user_fence", "workload_fence", "reserved" ]
          },
          "nodes" : {
            "type" : "array",
            "description" : "List of nodes across which the fence is applied.",
            "items" : {
              "type" : "string",
              "description" : "List of nodes across which the fence is applied."
            }
          },
          "users" : {
            "type" : "array",
            "description" : "List of users to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "usergroups" : {
            "type" : "array",
            "description" : "List of usergroups to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "projects" : {
            "type" : "array",
            "description" : "List of projects to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          }
        }
      },
      "ClusterStartupMembershipInfo" : {
        "required" : [ "clusterStartupMembership" ],
        "type" : "object",
        "properties" : {
          "clusterStartupMembership" : {
            "type" : "array",
            "description" : "List of nodes in cluster startup configuration",
            "items" : {
              "type" : "string",
              "description" : "List of nodes in cluster startup configuration"
            }
          }
        },
        "description" : "List of nodes in cluster startup configuration",
        "example" : {
          "clusterStartupMembership" : [ "hostname1", "hostname2" ]
        }
      },
      "DataGatewayAgentInfo" : {
        "required" : [ "cluster", "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "cluster" : {
            "type" : "boolean",
            "description" : "cluster"
          }
        },
        "description" : "Data gateway agent info"
      },
      "DataGatewayAgentsResponse" : {
        "type" : "object",
        "properties" : {
          "agents" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataGatewayAgentInfo"
            }
          }
        },
        "description" : "Data gateway agents response"
      },
      "DataGatewayClientCluster" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "agents" : {
            "type" : "array",
            "description" : "agents",
            "items" : {
              "$ref" : "#/components/schemas/DataGatewayAgentInfo"
            }
          }
        },
        "description" : "Data gateway client cluster info"
      },
      "DataGatewayClientClustersResponse" : {
        "type" : "object",
        "properties" : {
          "clusters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataGatewayClientCluster"
            }
          }
        },
        "description" : "Data gateway client clusters response"
      },
      "IServerDataServiceConfigurations" : {
        "type" : "object",
        "properties" : {
          "ConnectionMappingCacheCapacity" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "connectionMappingCacheCapacity",
            "format" : "int64"
          },
          "ConnectionLimit" : {
            "$ref" : "#/components/schemas/IServerDataServiceConfigurationsConnectionLimit"
          },
          "ConnectionCacheLimit" : {
            "$ref" : "#/components/schemas/IServerDataServiceConfigurationsConnectionCacheLimit"
          },
          "DataImportColumnLimit" : {
            "maximum" : 65534,
            "minimum" : 0,
            "type" : "integer",
            "description" : "DataImportColumnLimit",
            "format" : "int32"
          }
        }
      },
      "IServerDataServiceConfigurationsConnectionCacheLimit" : {
        "type" : "object",
        "properties" : {
          "ALL" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "all",
            "format" : "int64"
          },
          "DataImportCache" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "dataImportCache",
            "format" : "int64"
          }
        },
        "description" : "connectionCacheLimit"
      },
      "IServerDataServiceConfigurationsConnectionLimit" : {
        "type" : "object",
        "properties" : {
          "DefaultCategory" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "defaultCategory",
            "format" : "int64"
          },
          "CatalogServer" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "catalogServer",
            "format" : "int64"
          },
          "MetadataServer" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "metadataServer",
            "format" : "int64"
          },
          "QueryEngine" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "queryEngine",
            "format" : "int64"
          },
          "DistributionService" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "distributionService",
            "format" : "int64"
          },
          "DataImport" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "dataImport",
            "format" : "int64"
          },
          "HistoryList" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "historyList",
            "format" : "int64"
          },
          "Statistics" : {
            "maximum" : 4294967295,
            "minimum" : 0,
            "type" : "integer",
            "description" : "statistics",
            "format" : "int64"
          }
        },
        "description" : "connectionLimit"
      },
      "ServerDefSetting" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "id",
            "format" : "int32",
            "enum" : [ null ]
          },
          "dataType" : {
            "type" : "integer",
            "description" : "dataType",
            "format" : "int32"
          },
          "value" : {
            "type" : "string",
            "description" : "value"
          }
        },
        "description" : "List of settings"
      },
      "FenceInfo" : {
        "type" : "object",
        "properties" : {
          "rank" : {
            "type" : "integer",
            "description" : "Rank or precedence of the fence.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the fence."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fence.",
            "enum" : [ "user_fence", "workload_fence", "reserved" ]
          },
          "nodes" : {
            "type" : "array",
            "description" : "List of nodes across which the fence is applied.",
            "items" : {
              "type" : "string",
              "description" : "List of nodes across which the fence is applied."
            }
          }
        },
        "description" : "List of fences"
      },
      "Fences" : {
        "type" : "object",
        "properties" : {
          "fences" : {
            "type" : "array",
            "description" : "List of fences",
            "items" : {
              "$ref" : "#/components/schemas/FenceInfo"
            }
          }
        }
      },
      "IServerLogDiagnosticsComponent" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Diagnostics configuration component name"
          },
          "dispatchers" : {
            "type" : "array",
            "description" : "Diagnostics configuration component dispatchers",
            "items" : {
              "$ref" : "#/components/schemas/IServerLogDiagnosticsDispatcher"
            }
          }
        },
        "description" : "List of components"
      },
      "IServerLogDiagnosticsDispatcher" : {
        "required" : [ "file", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Diagnostics configuration component dispatcher name"
          },
          "system" : {
            "type" : "boolean",
            "description" : "Whether to enable system log for diagnostics configuration component"
          },
          "console" : {
            "type" : "boolean",
            "description" : "Whether to enable system log for diagnostics configuration component"
          },
          "file" : {
            "type" : "string",
            "description" : "Log destination for file log of diagnostics configuration component. Empty string means <None>"
          }
        },
        "description" : "Diagnostics configuration component dispatchers"
      },
      "IServerLogDiagnosticsSetting" : {
        "type" : "object",
        "properties" : {
          "components" : {
            "type" : "array",
            "description" : "List of components",
            "items" : {
              "$ref" : "#/components/schemas/IServerLogDiagnosticsComponent"
            }
          }
        },
        "description" : "Diagnostics Configuration"
      },
      "IServerLogInstanceSetting" : {
        "type" : "object",
        "properties" : {
          "diagnostics" : {
            "$ref" : "#/components/schemas/IServerLogDiagnosticsSetting"
          },
          "performance" : {
            "$ref" : "#/components/schemas/IServerLogPerformanceSetting"
          }
        }
      },
      "IServerLogPerformanceCategory" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of performance configuration category"
          },
          "counters" : {
            "type" : "array",
            "description" : "Performance configuration category counters",
            "items" : {
              "$ref" : "#/components/schemas/IServerLogPerformanceCounter"
            }
          }
        },
        "description" : "Performance configuration categories"
      },
      "IServerLogPerformanceCounter" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Performance configuration category counters"
          },
          "persist" : {
            "type" : "boolean",
            "description" : "Whether to enable file log for the performance configuration category"
          },
          "persistToStats" : {
            "type" : "boolean",
            "description" : "Whether to enable statistics for the performance configuration category"
          }
        },
        "description" : "Performance configuration category counters"
      },
      "IServerLogPerformanceSetting" : {
        "required" : [ "logDestination" ],
        "type" : "object",
        "properties" : {
          "logDestination" : {
            "type" : "string",
            "description" : "Log destination for IServer performance configuration logging"
          },
          "frequency" : {
            "type" : "integer",
            "description" : "Logging frequency in seconds for file log properties",
            "format" : "int32"
          },
          "persistPerfCounter" : {
            "type" : "boolean",
            "description" : "Whether to persist performance counter"
          },
          "statsFrequency" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Logging frequency in minutes for statistics properties",
            "format" : "int32"
          },
          "persistStatistics" : {
            "type" : "boolean",
            "description" : "Whether to persist statistics"
          },
          "categories" : {
            "type" : "array",
            "description" : "Performance configuration categories",
            "items" : {
              "$ref" : "#/components/schemas/IServerLogPerformanceCategory"
            }
          }
        },
        "description" : "Performance Configuration"
      },
      "IServerLogSetting" : {
        "required" : [ "currentInstance" ],
        "type" : "object",
        "properties" : {
          "currentInstance" : {
            "$ref" : "#/components/schemas/IServerLogInstanceSetting"
          }
        }
      },
      "IServerLogDestinationEntry" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "fileName" : {
            "type" : "string",
            "description" : "File name"
          },
          "maxSize" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Maximum file size in KB",
            "format" : "int32"
          },
          "type" : {
            "type" : "string",
            "description" : "Log Destination Type",
            "enum" : [ "diagnostics", "performance" ]
          }
        },
        "description" : "Log destination list"
      },
      "IServerLogDestinations" : {
        "required" : [ "logDestinations" ],
        "type" : "object",
        "properties" : {
          "logDestinations" : {
            "type" : "array",
            "description" : "Log destination list",
            "items" : {
              "$ref" : "#/components/schemas/IServerLogDestinationEntry"
            }
          }
        }
      },
      "MstrAppLicense" : {
        "type" : "object",
        "properties" : {
          "mstrAppLicensed" : {
            "type" : "boolean",
            "description" : "Indicates if has MicroStrategy Application license."
          }
        }
      },
      "IServerMachineInfos" : {
        "type" : "object",
        "properties" : {
          "timezone" : {
            "type" : "string",
            "description" : "Machine timezone"
          },
          "timezone_offset" : {
            "type" : "string",
            "description" : "Time Offset"
          }
        }
      },
      "PrivilegeInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Privilege ID. Possible values can be found in [EnumDSSXMLPrivilegeTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html)"
          },
          "name" : {
            "type" : "string",
            "description" : "Privilege name"
          },
          "description" : {
            "type" : "string",
            "description" : "Privilege description"
          },
          "categories" : {
            "type" : "array",
            "description" : "The privilege's category, this field is unstable, you should not depend on it",
            "items" : {
              "type" : "string",
              "description" : "The privilege's category, this field is unstable, you should not depend on it"
            }
          },
          "isProjectLevelPrivilege" : {
            "type" : "boolean",
            "description" : "The filed indicate the privilege works in server configuration level or project level. Only project level privilege can assign to a security role."
          }
        },
        "description" : "List of privileges in this category"
      },
      "PrivilegeCategories" : {
        "type" : "object",
        "properties" : {
          "categories" : {
            "type" : "array",
            "description" : "List of privilege categories ",
            "items" : {
              "$ref" : "#/components/schemas/PrivilegeCategory"
            }
          }
        }
      },
      "PrivilegeCategory" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "integer",
            "description" : "Privilege category type, refer to [EnumDSSXMLPrivilegeCategoryTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeCategoryTypes.html)",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Privilege category name"
          },
          "privileges" : {
            "type" : "array",
            "description" : "List of privileges in this category",
            "items" : {
              "$ref" : "#/components/schemas/PrivilegeInfo"
            }
          }
        },
        "description" : "List of privilege categories "
      },
      "ServerBaseLanguages" : {
        "type" : "object",
        "properties" : {
          "baseLocales" : {
            "type" : "array",
            "description" : "List of base locales of the server",
            "items" : {
              "$ref" : "#/components/schemas/ServerLocale"
            }
          }
        }
      },
      "ServerLocale" : {
        "type" : "object",
        "properties" : {
          "languageGroup" : {
            "type" : "string",
            "description" : "Language group"
          },
          "lcid" : {
            "type" : "integer",
            "description" : "Locale ID",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Locale name"
          },
          "interfaceLanguage" : {
            "type" : "string",
            "description" : "Interface language"
          }
        },
        "description" : "List of base locales of the server"
      },
      "TelemetryProducerSettingsDTO" : {
        "type" : "object",
        "properties" : {
          "basicStats" : {
            "type" : "boolean"
          },
          "clientTelemetry" : {
            "type" : "boolean"
          },
          "detailedRepJobs" : {
            "type" : "boolean"
          },
          "detailedDocJobs" : {
            "type" : "boolean"
          },
          "jobSQL" : {
            "type" : "boolean"
          },
          "columnsTables" : {
            "type" : "boolean"
          },
          "mobileClients" : {
            "type" : "boolean"
          },
          "mobileManipulation" : {
            "type" : "boolean"
          },
          "mobileClientLocation" : {
            "type" : "boolean"
          }
        },
        "description" : "Telemetry Producer Data Transfer Object"
      },
      "TelemetryProducersSettingsDTO" : {
        "type" : "object",
        "properties" : {
          "producersData" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/TelemetryProducerSettingsDTO"
            }
          }
        },
        "description" : "Telemetry Producers Data Transfer Object, it contains the data of all telemetry producers (accessible projects)"
      },
      "LockRequest" : {
        "required" : [ "lockType" ],
        "type" : "object",
        "properties" : {
          "lockType" : {
            "type" : "string",
            "description" : "Lock type"
          },
          "lockId" : {
            "type" : "string",
            "description" : "Lock ID"
          }
        }
      },
      "DataGatewayClientClusterInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "agents" : {
            "type" : "array",
            "description" : "agents",
            "items" : {
              "$ref" : "#/components/schemas/DataGatewayAgentInfo"
            }
          }
        },
        "description" : "Data gateway client cluster info"
      },
      "DataGatewayServiceConnResponse" : {
        "type" : "object",
        "properties" : {
          "port" : {
            "type" : "integer",
            "description" : "port",
            "format" : "int32"
          },
          "token" : {
            "type" : "string",
            "description" : "token"
          },
          "key" : {
            "type" : "string",
            "description" : "key"
          }
        },
        "description" : "Data gateway service connection response"
      },
      "DataGatewayServiceConnRequest" : {
        "type" : "object",
        "properties" : {
          "trayId" : {
            "type" : "string",
            "description" : "trayId"
          },
          "trayVersion" : {
            "type" : "string",
            "description" : "trayVersion"
          }
        },
        "description" : "Data gateway service connection request"
      },
      "ObjectLockInfo" : {
        "type" : "object",
        "properties" : {
          "lockType" : {
            "type" : "string",
            "description" : "Lock type"
          },
          "lockTime" : {
            "type" : "string",
            "description" : "Lock time",
            "format" : "date-time"
          },
          "comment" : {
            "type" : "string",
            "description" : "Lock comment"
          },
          "machineName" : {
            "type" : "string",
            "description" : "Machine name"
          },
          "owner" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          }
        }
      },
      "ServerDefSettings" : {
        "type" : "object",
        "properties" : {
          "settings" : {
            "type" : "array",
            "description" : "List of settings",
            "items" : {
              "$ref" : "#/components/schemas/ServerDefSetting"
            }
          }
        }
      },
      "FencePatchBody" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/nodes",
            "enum" : [ "/nodes, /projects, /users, /usergroups, /rank" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : [ "env-183260laio2use1" ]
          }
        }
      },
      "PatchOperationsFencePatchBody" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FencePatchBody"
            }
          }
        }
      },
      "ArrayParameter" : {
        "required" : [ "constants", "constantsType" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Parameter"
        }, {
          "type" : "object",
          "properties" : {
            "constantsType" : {
              "type" : "string",
              "enum" : [ "int32", "int64", "double", "string", "date", "time", "date_time", "big_decimal", "boolean" ]
            },
            "constants" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        } ]
      },
      "BandingCountPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "BandingDistinctPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "BandingPointsPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "BandingSizePredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "ColumnPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "ConstantParameter" : {
        "required" : [ "constant" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Parameter"
        }, {
          "type" : "object",
          "properties" : {
            "constant" : {
              "$ref" : "#/components/schemas/StructVariant"
            }
          }
        } ]
      },
      "CustomPredicate" : {
        "required" : [ "predicateTree" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            },
            "predicateTree" : {
              "$ref" : "#/components/schemas/CustomPredicateTree"
            }
          }
        } ]
      },
      "CustomPredicateTree" : {
        "required" : [ "expression" ],
        "type" : "object",
        "properties" : {
          "expression" : {
            "$ref" : "#/components/schemas/Expression"
          }
        }
      },
      "ElementConcrete" : {
        "type" : "object",
        "properties" : {
          "display" : {
            "type" : "string"
          },
          "elementId" : {
            "type" : "string"
          },
          "attribute" : {
            "$ref" : "#/components/schemas/ObjectInfoReference"
          }
        }
      },
      "ElementListPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            },
            "predicateTree" : {
              "$ref" : "#/components/schemas/ElementListPredicateTree"
            }
          }
        } ]
      },
      "ElementListPredicateTree" : {
        "required" : [ "attribute", "elements", "function" ],
        "type" : "object",
        "properties" : {
          "attribute" : {
            "$ref" : "#/components/schemas/ObjectInfoReference"
          },
          "elements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ElementConcrete"
            }
          },
          "elementsPrompt" : {
            "$ref" : "#/components/schemas/ObjectInfoReference"
          },
          "function" : {
            "type" : "string"
          }
        }
      },
      "ExpressionParameter" : {
        "required" : [ "expression" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Parameter"
        }, {
          "type" : "object",
          "properties" : {
            "expression" : {
              "$ref" : "#/components/schemas/Expression"
            }
          }
        } ]
      },
      "FilterPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "FormPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            },
            "predicateTree" : {
              "$ref" : "#/components/schemas/FormPredicateTree"
            }
          }
        } ]
      },
      "FormPredicateTree" : {
        "required" : [ "attribute", "form" ],
        "type" : "object",
        "properties" : {
          "function" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Parameter"
            }
          },
          "attribute" : {
            "$ref" : "#/components/schemas/ObjectInfoReference"
          },
          "form" : {
            "$ref" : "#/components/schemas/ObjectInfoReference"
          },
          "dataLocale" : {
            "type" : "string"
          }
        }
      },
      "IamSystemPromptInfo" : {
        "required" : [ "claim", "type" ],
        "type" : "object",
        "properties" : {
          "claim" : {
            "type" : "string",
            "description" : "Name of claim to be mapped to system prompt"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of system prompt. Possible values: text, date, numeric",
            "enum" : [ "text", "numeric", "date", "big_decimal" ]
          }
        },
        "description" : "System prompt map from OIDC claim"
      },
      "Information" : {
        "type" : "object",
        "properties" : {
          "acg" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dateCreated" : {
            "type" : "string"
          },
          "dateModified" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "objectId" : {
            "type" : "string"
          },
          "primaryLocale" : {
            "type" : "string"
          },
          "subType" : {
            "type" : "string"
          },
          "versionId" : {
            "type" : "string"
          },
          "destinationFolderId" : {
            "type" : "string"
          }
        }
      },
      "JointElementListPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            },
            "predicateTree" : {
              "$ref" : "#/components/schemas/JointElementListPredicateTree"
            }
          }
        } ]
      },
      "JointElementListPredicateTree" : {
        "type" : "object",
        "properties" : {
          "level" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectInfoReference"
            }
          },
          "tuples" : {
            "type" : "array",
            "items" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ElementConcrete"
              }
            }
          }
        }
      },
      "JwtAuthClaimMap" : {
        "required" : [ "userId" ],
        "type" : "object",
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "fullname" : {
            "type" : "string"
          },
          "email" : {
            "type" : "string"
          },
          "groups" : {
            "type" : "string"
          },
          "language" : {
            "type" : "string"
          }
        }
      },
      "JwtAuthConfig" : {
        "required" : [ "audience", "claimMap", "issuer" ],
        "type" : "object",
        "properties" : {
          "issuer" : {
            "type" : "string"
          },
          "audience" : {
            "type" : "string"
          },
          "skew" : {
            "type" : "integer",
            "format" : "int32"
          },
          "keySource" : {
            "type" : "string",
            "enum" : [ "issuer", "jwksUri", "local", "internal" ]
          },
          "keys" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/KeyConfig"
            }
          },
          "jwksUri" : {
            "pattern" : "https?://\\S+",
            "type" : "string"
          },
          "claimMap" : {
            "$ref" : "#/components/schemas/JwtAuthClaimMap"
          },
          "systemPromptMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/IamSystemPromptInfo"
            }
          },
          "securityFilters" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/SecurityFilter"
            }
          }
        }
      },
      "KeyConfig" : {
        "required" : [ "algorithm" ],
        "type" : "object",
        "properties" : {
          "algorithm" : {
            "type" : "string",
            "enum" : [ "RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512" ]
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "MetricPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "ObjectInfoReference" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "objectId" : {
            "type" : "string"
          },
          "subType" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "clientId" : {
            "type" : "string"
          },
          "isEmbedded" : {
            "type" : "boolean"
          },
          "isExternalEmbedded" : {
            "type" : "boolean"
          },
          "ownerId" : {
            "type" : "string"
          },
          "extendedType" : {
            "type" : "string"
          }
        }
      },
      "Parameter" : {
        "type" : "object",
        "properties" : {
          "parameterType" : {
            "type" : "string"
          }
        },
        "discriminator" : {
          "propertyName" : "parameterType"
        }
      },
      "Placeholder" : {
        "required" : [ "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "int32", "int64", "double", "string", "date", "time", "date_time", "big_decimal", "boolean" ]
          },
          "multiValued" : {
            "type" : "boolean"
          },
          "delimiter" : {
            "type" : "string"
          },
          "optional" : {
            "type" : "boolean"
          }
        }
      },
      "PlaceholderNode" : {
        "required" : [ "placeholder" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "placeholder" : {
              "$ref" : "#/components/schemas/Placeholder"
            }
          }
        } ]
      },
      "PlaceholderParameter" : {
        "required" : [ "placeholder" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Parameter"
        }, {
          "type" : "object",
          "properties" : {
            "placeholder" : {
              "$ref" : "#/components/schemas/Placeholder"
            }
          }
        } ]
      },
      "PromptPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "RelationshipPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            },
            "children" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Node"
              }
            }
          }
        } ]
      },
      "ReportPredicate" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Node"
        }, {
          "type" : "object",
          "properties" : {
            "predicateId" : {
              "type" : "string"
            },
            "predicateText" : {
              "type" : "string"
            }
          }
        } ]
      },
      "StructVariant" : {
        "required" : [ "type", "value" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "int32", "int64", "double", "string", "date", "time", "date_time", "big_decimal", "boolean" ]
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "InterfaceLanguageBaseInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "subType" : {
            "type" : "string",
            "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
          }
        },
        "description" : "Basic interface language information"
      },
      "Language" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Language name"
          },
          "id" : {
            "type" : "string",
            "description" : "Language ID",
            "writeOnly" : true
          },
          "baseLangLcid" : {
            "type" : "integer",
            "format" : "int32",
            "deprecated" : true
          },
          "baseLanguageLcid" : {
            "type" : "integer",
            "description" : "Base language locale ID",
            "format" : "int32"
          },
          "lcid" : {
            "type" : "integer",
            "description" : "Locale ID",
            "format" : "int32"
          },
          "interfaceLanguage" : {
            "$ref" : "#/components/schemas/InterfaceLanguageBaseInfo"
          },
          "owner" : {
            "$ref" : "#/components/schemas/User"
          },
          "lastModified" : {
            "type" : "string",
            "description" : "Last modified date"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Access granted",
            "format" : "int32"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden"
          },
          "isLanguageSupported" : {
            "type" : "boolean",
            "description" : "Is language derived from a supported language list"
          },
          "languageAbbreviation" : {
            "type" : "string",
            "description" : "Language abbreviation"
          },
          "languageSupported" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        },
        "description" : "Language information"
      },
      "CreateLanguage" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Language name"
          },
          "baseLanguageLcid" : {
            "type" : "integer",
            "description" : "Base language locale ID",
            "format" : "int32"
          },
          "interfaceLanguageId" : {
            "type" : "string",
            "description" : "Interface language ID"
          }
        },
        "description" : "Create language model"
      },
      "LanguageList" : {
        "type" : "object",
        "properties" : {
          "languages" : {
            "type" : "array",
            "description" : "List of available languages",
            "items" : {
              "$ref" : "#/components/schemas/Language"
            }
          }
        },
        "description" : "List of available languages"
      },
      "BaseLocaleFormatsInfo" : {
        "type" : "object",
        "properties" : {
          "smartAttributeType" : {
            "type" : "integer",
            "description" : "Smart attribute type",
            "format" : "int32"
          },
          "defaultFormats" : {
            "type" : "array",
            "description" : "List of default formats",
            "items" : {
              "$ref" : "#/components/schemas/DefaultFormatsInfo"
            }
          }
        }
      },
      "BaseLocaleFormatsInfos" : {
        "type" : "object",
        "properties" : {
          "smartAttributeDefaultFormats" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BaseLocaleFormatsInfo"
            }
          }
        }
      },
      "DefaultFormatsInfo" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "string",
            "description" : "Format"
          },
          "example" : {
            "type" : "string",
            "description" : "Example"
          }
        },
        "description" : "List of default formats"
      },
      "FormattingSettings" : {
        "type" : "object",
        "properties" : {
          "timeInterval" : {
            "$ref" : "#/components/schemas/TimeIntervalInfo"
          }
        },
        "description" : "Formatting settings"
      },
      "FormattingSettingsInfo" : {
        "type" : "object",
        "properties" : {
          "formattingSettings" : {
            "$ref" : "#/components/schemas/FormattingSettings"
          }
        },
        "description" : "Formatting settings for a language"
      },
      "TimeIntervalInfo" : {
        "type" : "object",
        "properties" : {
          "minutes15" : {
            "type" : "string",
            "description" : "15 mins time interval"
          },
          "minutes30" : {
            "type" : "string",
            "description" : "30 mins time interval"
          },
          "hour" : {
            "type" : "string",
            "description" : "45 mins time interval"
          },
          "day" : {
            "type" : "string",
            "description" : "Daily time interval"
          },
          "week" : {
            "type" : "string",
            "description" : "Weekly time interval"
          },
          "hourOfDay" : {
            "type" : "string",
            "description" : "Hourly time interval"
          },
          "month" : {
            "type" : "string",
            "description" : "Monthly time interval"
          },
          "quarter" : {
            "type" : "string",
            "description" : "Quarterly time interval"
          },
          "year" : {
            "type" : "string",
            "description" : "Yearly time interval"
          }
        },
        "description" : "Time interval info"
      },
      "FormattingSettingsPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "enum" : [ "replace" ]
          },
          "path" : {
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/formattingSettings/timeInterval/hour",
            "enum" : [ "/formattingSettings/timeInterval/minutes15", "/formattingSettings/timeInterval/minutes30", "/formattingSettings/timeInterval/hour", "/formattingSettings/timeInterval/day", "/formattingSettings/timeInterval/week", "/formattingSettings/timeInterval/hourOfDay", "/formattingSettings/timeInterval/month", "/formattingSettings/timeInterval/quarter", "/formattingSettings/timeInterval/year" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : "string"
          }
        }
      },
      "PatchOperationsFormattingSettingsPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FormattingSettingsPatchOperation"
            }
          }
        }
      },
      "LanguagePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/name",
            "enum" : [ "/name", "/interfaceLanguage" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "Spanish for HQ"
          }
        }
      },
      "PatchOperationsLanguagePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LanguagePatchOperation"
            }
          }
        }
      },
      "LdapDef" : {
        "type" : "object",
        "properties" : {
          "serverHost" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "serverPort" : {
            "$ref" : "#/components/schemas/LdapFieldDfInteger"
          },
          "serverSecureConn" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "certPath" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "useConnPool" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "ldapVerificationMethod" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "adminDn" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "adminDnPassword" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "ldapServerVendor" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "ldapDriverVendor" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "intelligenceServerPlatform" : {
            "$ref" : "#/components/schemas/LdapFieldDfInteger"
          },
          "libraryFiles" : {
            "$ref" : "#/components/schemas/LdapFieldDfListString"
          },
          "searchRoot" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "userAuthFilter" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "groupAuthFilter" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "groupSearchDepth" : {
            "$ref" : "#/components/schemas/LdapFieldDfInteger"
          },
          "importUser" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "importGroup" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "syncUser" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "syncGroup" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "userImportFilter" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "groupImportFilter" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "importUserAtLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "importGroupAtLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "syncUserAtLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "syncGroupAtLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "attrForLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "attrForUsername" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "attrForGroupName" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "syncWithWinAuth" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "syncWithTrustedAuth" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "attrIntegratedAuthUniqueId" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "emailType" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "attrForEmail" : {
            "$ref" : "#/components/schemas/LdapFieldDfString"
          },
          "extraAttrsToImport" : {
            "$ref" : "#/components/schemas/LdapFieldDfJsonNode"
          },
          "allowLoginIfNotLinked" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "timeout" : {
            "$ref" : "#/components/schemas/LdapFieldDfInteger"
          },
          "referrals" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "allowNtLogin" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          },
          "searchLimit" : {
            "$ref" : "#/components/schemas/LdapFieldDfInteger"
          },
          "allowLdapToMstrPredefinedUserOrGroup" : {
            "$ref" : "#/components/schemas/LdapFieldDfBoolean"
          }
        }
      },
      "LdapFieldDfBoolean" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "value" : {
            "type" : "boolean",
            "description" : "Value"
          },
          "attrDependentOf" : {
            "type" : "string",
            "description" : "Attribute dependent of"
          },
          "typeDescription" : {
            "type" : "string",
            "description" : "Description of the type"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "Whether allow to link LDAP user/group to a predefined MSTR user/group."
      },
      "LdapFieldDfInteger" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "value" : {
            "type" : "integer",
            "description" : "Value",
            "format" : "int32"
          },
          "attrDependentOf" : {
            "type" : "string",
            "description" : "Attribute dependent of"
          },
          "typeDescription" : {
            "type" : "string",
            "description" : "Description of the type"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "LDAP search result limit per page."
      },
      "LdapFieldDfJsonNode" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "value" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "attrDependentOf" : {
            "type" : "string",
            "description" : "Attribute dependent of"
          },
          "typeDescription" : {
            "type" : "string",
            "description" : "Description of the type"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "extra attrs to import"
      },
      "LdapFieldDfListString" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "value" : {
            "type" : "array",
            "description" : "Value",
            "items" : {
              "type" : "string",
              "description" : "Value"
            }
          },
          "attrDependentOf" : {
            "type" : "string",
            "description" : "Attribute dependent of"
          },
          "typeDescription" : {
            "type" : "string",
            "description" : "Description of the type"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "List of library files"
      },
      "LdapFieldDfString" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "value" : {
            "type" : "string",
            "description" : "Value"
          },
          "attrDependentOf" : {
            "type" : "string",
            "description" : "Attribute dependent of"
          },
          "typeDescription" : {
            "type" : "string",
            "description" : "Description of the type"
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "attr for email"
      },
      "LdapPostDef" : {
        "type" : "object",
        "properties" : {
          "serverHost" : {
            "type" : "string",
            "description" : "Ldap server host name or IP address"
          },
          "serverPort" : {
            "type" : "integer",
            "description" : "Ldap server port 389 or 636",
            "format" : "int32",
            "example" : 389
          },
          "serverSecureConn" : {
            "type" : "string",
            "description" : "Ldap server connection. Plain text or using SSL",
            "example" : "Plain text"
          },
          "certPath" : {
            "type" : "string",
            "description" : "Ldap server certificate path located on I-Server host machine"
          },
          "useConnPool" : {
            "type" : "boolean",
            "description" : "Whether to use connection pool: false or true",
            "example" : true
          },
          "ldapVerificationMethod" : {
            "type" : "string",
            "description" : "Ldap verification method: Bind or Password comparison"
          },
          "adminDn" : {
            "type" : "string",
            "description" : "Admin DN"
          },
          "adminDnPassword" : {
            "type" : "string",
            "description" : "Admin DN password"
          },
          "ldapServerVendor" : {
            "type" : "string",
            "description" : "Ldap server vendor"
          },
          "libraryFiles" : {
            "type" : "array",
            "description" : "List of library files",
            "items" : {
              "type" : "string",
              "description" : "List of library files"
            }
          },
          "searchRoot" : {
            "type" : "string",
            "description" : "Search root"
          },
          "userAuthFilter" : {
            "type" : "string",
            "description" : "User auth filter"
          },
          "groupAuthFilter" : {
            "type" : "string",
            "description" : "Group auth filter"
          },
          "groupSearchDepth" : {
            "type" : "integer",
            "description" : "Group search depth",
            "format" : "int32"
          },
          "importUser" : {
            "type" : "boolean",
            "description" : "import user"
          },
          "importGroup" : {
            "type" : "boolean",
            "description" : "import group"
          },
          "syncUser" : {
            "type" : "boolean",
            "description" : "sync user"
          },
          "syncGroup" : {
            "type" : "boolean",
            "description" : "sync group"
          },
          "userImportFilter" : {
            "type" : "string",
            "description" : "User import filter"
          },
          "groupImportFilter" : {
            "type" : "string",
            "description" : "Group import filter"
          },
          "importUserAtLogin" : {
            "type" : "boolean",
            "description" : "Whether to import user at login"
          },
          "importGroupAtLogin" : {
            "type" : "boolean",
            "description" : "Whether to import group at login"
          },
          "syncUserAtLogin" : {
            "type" : "boolean",
            "description" : "Whether to sync user at login"
          },
          "syncGroupAtLogin" : {
            "type" : "boolean",
            "description" : "Whether to sync group at login"
          },
          "attrForLogin" : {
            "type" : "string",
            "description" : "attr for login"
          },
          "attrForUsername" : {
            "type" : "string",
            "description" : "attr for username"
          },
          "attrForGroupName" : {
            "type" : "string",
            "description" : "attr for group name"
          },
          "syncWithWinAuth" : {
            "type" : "boolean",
            "description" : "sync with windows auth"
          },
          "syncWithTrustedAuth" : {
            "type" : "boolean",
            "description" : "sync with trusted auth"
          },
          "attrIntegratedAuthUniqueId" : {
            "type" : "string",
            "description" : "attribute integrated auth unique id"
          },
          "emailType" : {
            "type" : "string",
            "description" : "Email type",
            "example" : "Microsoft Outlook Express"
          },
          "attrForEmail" : {
            "type" : "string",
            "description" : "attribute for email"
          },
          "extraAttrsToImport" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "extra attributes to import"
            },
            "description" : "extra attributes to import"
          },
          "allowLoginIfNotLinked" : {
            "type" : "boolean",
            "description" : "Whether to allow login if user is not linked to LDAP"
          },
          "timeout" : {
            "type" : "integer",
            "description" : "Timeout",
            "format" : "int32"
          },
          "referrals" : {
            "type" : "boolean",
            "description" : "Whether to do referral chase in LDAP search."
          },
          "allowNtLogin" : {
            "type" : "boolean",
            "description" : "Whether to allow NT login if LDAP user is not found."
          },
          "searchLimit" : {
            "type" : "integer",
            "description" : "Search limit",
            "format" : "int32"
          },
          "allowLdapToMstrPredefinedUserOrGroup" : {
            "type" : "boolean",
            "description" : "Whether to allow LDAP to MSTR predefined user or group."
          }
        }
      },
      "LdapAttributes" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "array",
            "description" : "List of attributes",
            "items" : {
              "type" : "string",
              "description" : "List of attributes"
            }
          }
        }
      },
      "LdapBatchImportDef" : {
        "type" : "object",
        "properties" : {
          "statusDescription" : {
            "type" : "string",
            "description" : "Status description"
          },
          "totalUsers" : {
            "type" : "integer",
            "description" : "Total Users",
            "format" : "int32"
          },
          "totalImportedUsers" : {
            "type" : "integer",
            "description" : "Total Imported Users",
            "format" : "int32"
          },
          "totalFailedImportedUsers" : {
            "type" : "integer",
            "description" : "Total Failed Imported Users",
            "format" : "int32"
          },
          "totalGroups" : {
            "type" : "integer",
            "description" : "Total Groups",
            "format" : "int32"
          },
          "totalImportedGroups" : {
            "type" : "integer",
            "description" : "Total Imported Groups",
            "format" : "int32"
          },
          "totalFailedImportedGroups" : {
            "type" : "integer",
            "description" : "Total Failed Imported Groups",
            "format" : "int32"
          },
          "startTime" : {
            "type" : "string",
            "description" : "Start time"
          },
          "finishTime" : {
            "type" : "string",
            "description" : "Finish time"
          },
          "batchImportStatus" : {
            "type" : "integer",
            "format" : "int32",
            "writeOnly" : true
          }
        }
      },
      "LdapCertInfo" : {
        "type" : "object",
        "properties" : {
          "certificateInfo" : {
            "type" : "string",
            "description" : "Certificate Info"
          }
        }
      },
      "LdapGeneralDef" : {
        "type" : "object",
        "properties" : {
          "settings" : {
            "$ref" : "#/components/schemas/LdapDef"
          },
          "attributes" : {
            "type" : "array",
            "description" : "Ldap Attributes",
            "items" : {
              "type" : "string",
              "description" : "Ldap Attributes"
            }
          }
        }
      },
      "LdapCertDef" : {
        "type" : "object",
        "properties" : {
          "certificate" : {
            "type" : "string",
            "description" : "Certificate"
          },
          "size" : {
            "type" : "integer",
            "description" : "Size",
            "format" : "int32"
          }
        }
      },
      "BulkDeleteLearningRequestDto" : {
        "type" : "object",
        "properties" : {
          "contents" : {
            "type" : "array",
            "description" : "The learning contents to be deleted.",
            "items" : {
              "$ref" : "#/components/schemas/Learning"
            }
          }
        }
      },
      "Learning" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "learning Id"
          }
        },
        "description" : "The learning contents to be deleted."
      },
      "ApplicationAiSettings" : {
        "type" : "object",
        "properties" : {
          "feedback" : {
            "type" : "boolean",
            "description" : "AI assistance feedback setting"
          },
          "learning" : {
            "type" : "boolean",
            "description" : "AI assistance learning setting"
          },
          "disclaimer" : {
            "maxLength" : 200,
            "minLength" : 0,
            "type" : "string",
            "description" : "AI assistance disclaimer setting"
          }
        },
        "description" : "AI settings"
      },
      "ApplicationAuthenticationModes" : {
        "type" : "object",
        "properties" : {
          "availableModes" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Available authentication mode list ",
            "items" : {
              "type" : "string",
              "description" : "Available authentication mode list ",
              "enum" : [ "1", "16", "1048576", "4194304", "0" ]
            }
          },
          "defaultMode" : {
            "type" : "string",
            "description" : "Default authentication mode ",
            "enum" : [ "1", "16", "1048576", "4194304", "0" ]
          },
          "oidcRegistrationIds" : {
            "type" : "array",
            "description" : "The OIDC registration file list.",
            "items" : {
              "type" : "string",
              "description" : "The OIDC registration file list."
            }
          },
          "samlRegistrationIds" : {
            "type" : "array",
            "description" : "The SAML registration file list.",
            "items" : {
              "type" : "string",
              "description" : "The SAML registration file list."
            }
          }
        },
        "description" : "Auth Modes"
      },
      "ApplicationContentGroupConfigs" : {
        "type" : "object",
        "properties" : {
          "preCache" : {
            "type" : "boolean",
            "description" : "Whether to pre-cache the content group"
          }
        },
        "description" : "Content group configs for the application. The key is the content group id."
      },
      "ApplicationEmailActionButton" : {
        "type" : "object",
        "properties" : {
          "browserButtonStyle" : {
            "$ref" : "#/components/schemas/ApplicationEmailButtonStyle"
          },
          "mobileButtonStyle" : {
            "$ref" : "#/components/schemas/ApplicationEmailButtonStyle"
          },
          "mobileButtonLinkType" : {
            "type" : "string",
            "description" : "Mobile Button Type",
            "enum" : [ "default", "app_scheme", "universal_link" ]
          },
          "mobileButtonScheme" : {
            "type" : "string",
            "description" : "Mobile Button Scheme"
          },
          "description" : {
            "type" : "string",
            "description" : "Button Description"
          }
        },
        "description" : "Email action button"
      },
      "ApplicationEmailBrandingImage" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "Image Url"
          }
        },
        "description" : "Email branding image"
      },
      "ApplicationEmailButtonStyle" : {
        "type" : "object",
        "properties" : {
          "backgroundColor" : {
            "type" : "string",
            "description" : "Background Color"
          },
          "fontColor" : {
            "type" : "string",
            "description" : "Font Color"
          },
          "text" : {
            "type" : "string",
            "description" : "Button Text"
          }
        },
        "description" : "Email Mobile Button Style"
      },
      "ApplicationEmailColors" : {
        "type" : "object",
        "properties" : {
          "generalTextColor" : {
            "type" : "string",
            "description" : "General Text Color"
          },
          "contentBackgroundColor" : {
            "type" : "string",
            "description" : "Content Background Color"
          },
          "backgroundColor" : {
            "type" : "string",
            "description" : "Background Color"
          }
        },
        "description" : "Email colors"
      },
      "ApplicationEmailReminder" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Email Reminder Text"
          },
          "linkText" : {
            "type" : "string",
            "description" : "Email Reminder Link Text"
          },
          "linkTextColor" : {
            "type" : "string",
            "description" : "Email Reminder Link Text Color"
          }
        },
        "description" : "Email reminder which contains the unread notifications"
      },
      "ApplicationEmailSender" : {
        "type" : "object",
        "properties" : {
          "displayName" : {
            "type" : "string",
            "description" : "Display Name"
          },
          "address" : {
            "type" : "string",
            "description" : "Email Address"
          }
        },
        "description" : "Email sender"
      },
      "ApplicationEmailSettings" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether to enable the custom email settings"
          },
          "hostPortal" : {
            "type" : "string",
            "description" : "The host web portal in the button link"
          },
          "showBrandingImage" : {
            "type" : "boolean",
            "description" : "Whether to show the branding image"
          },
          "showBrowserButton" : {
            "type" : "boolean",
            "description" : "Whether to show the browser button"
          },
          "showMobileButton" : {
            "type" : "boolean",
            "description" : "Whether to show the mobile button"
          },
          "showButtonDescription" : {
            "type" : "boolean",
            "description" : "Whether to show the email button description"
          },
          "showReminder" : {
            "type" : "boolean",
            "description" : "Whether to show the reminder section"
          },
          "showSubscriptionReminder" : {
            "type" : "boolean",
            "description" : "Whether to show the subscription reminder section"
          },
          "showSentBy" : {
            "type" : "boolean",
            "description" : "Whether to show the sent by section"
          },
          "sentByText" : {
            "type" : "string",
            "description" : "The text in the sent by section"
          },
          "showSocialMedia" : {
            "type" : "boolean",
            "description" : "Whether to show the social media section"
          },
          "content" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ApplicationEmailSubjectAndBody"
            },
            "description" : "Email content"
          },
          "isSubscriptionTemplateUpgraded" : {
            "type" : "boolean",
            "description" : "Whether the subscription template is upgraded"
          },
          "subscriptionHost" : {
            "type" : "string",
            "description" : "Subscription host"
          },
          "sender" : {
            "$ref" : "#/components/schemas/ApplicationEmailSender"
          },
          "brandingImage" : {
            "$ref" : "#/components/schemas/ApplicationEmailBrandingImage"
          },
          "button" : {
            "$ref" : "#/components/schemas/ApplicationEmailActionButton"
          },
          "reminder" : {
            "$ref" : "#/components/schemas/ApplicationEmailReminder"
          },
          "socialMedia" : {
            "$ref" : "#/components/schemas/ApplicationEmailSocialMedia"
          },
          "colors" : {
            "$ref" : "#/components/schemas/ApplicationEmailColors"
          }
        },
        "description" : "Email settings"
      },
      "ApplicationEmailSocialMedia" : {
        "type" : "object",
        "properties" : {
          "showFacebook" : {
            "type" : "boolean",
            "description" : "Whether to show the Facebook link"
          },
          "facebookLink" : {
            "type" : "string",
            "description" : "Facebook link"
          },
          "showTwitter" : {
            "type" : "boolean",
            "description" : "Whether to show the Twitter link"
          },
          "twitterLink" : {
            "type" : "string",
            "description" : "Twitter link"
          },
          "showLinkedIn" : {
            "type" : "boolean",
            "description" : "Whether to show the LinkedIn link"
          },
          "linkedInLink" : {
            "type" : "string",
            "description" : "LinkedIn link"
          },
          "showYouTube" : {
            "type" : "boolean",
            "description" : "Whether to show the YouTube link"
          },
          "youTubeLink" : {
            "type" : "string",
            "description" : "YouTube link"
          },
          "defaultFlag" : {
            "type" : "boolean",
            "description" : "Set the default flag for the empty ones.",
            "writeOnly" : true
          }
        },
        "description" : "Email social media"
      },
      "ApplicationEmailSubjectAndBody" : {
        "type" : "object",
        "properties" : {
          "subject" : {
            "type" : "string",
            "description" : "Email subject considered as plain text only, any HTML input will be encoded."
          },
          "body" : {
            "type" : "string",
            "description" : "Email body considered as plain text only, any HTML input will be encoded."
          }
        },
        "description" : "Email content"
      },
      "ApplicationExportCustomizedContent" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable customized content"
          },
          "header" : {
            "$ref" : "#/components/schemas/ApplicationExportCustomizedHeader"
          },
          "footer" : {
            "$ref" : "#/components/schemas/ApplicationExportCustomizedFooter"
          }
        },
        "description" : "Customized content settings"
      },
      "ApplicationExportCustomizedFooter" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "string",
            "description" : "Footer content"
          }
        },
        "description" : "Footer settings"
      },
      "ApplicationExportCustomizedHeader" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "string",
            "description" : "Header content"
          },
          "location" : {
            "type" : "string",
            "description" : "Header location",
            "enum" : [ "before", "after", "replace" ]
          }
        },
        "description" : "Header settings"
      },
      "ApplicationExportExpandAllPageByFields" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable expand all page-by fields"
          },
          "pageByMode" : {
            "type" : "string",
            "description" : "Page-by mode",
            "enum" : [ "separate_worksheets", "single_worksheet" ]
          }
        },
        "description" : "Expand all page-by fields settings"
      },
      "ApplicationExportReportExcelSettings" : {
        "type" : "object",
        "properties" : {
          "expandAllPageByFields" : {
            "$ref" : "#/components/schemas/ApplicationExportExpandAllPageByFields"
          },
          "exportPageByInformation" : {
            "type" : "boolean",
            "description" : "Export page-by information"
          },
          "exportReportTitle" : {
            "type" : "boolean",
            "description" : "Export report title"
          },
          "exportFilterDetails" : {
            "type" : "boolean",
            "description" : "Export filter details"
          },
          "customizedContent" : {
            "$ref" : "#/components/schemas/ApplicationExportCustomizedContent"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable Excel export"
          }
        },
        "description" : "Excel settings for export"
      },
      "ApplicationExportReportGoogleSheetsSettings" : {
        "type" : "object",
        "properties" : {
          "expandAllPageByFields" : {
            "$ref" : "#/components/schemas/ApplicationExportExpandAllPageByFields"
          },
          "exportPageByInformation" : {
            "type" : "boolean",
            "description" : "Export page-by information"
          },
          "exportReportTitle" : {
            "type" : "boolean",
            "description" : "Export report title"
          },
          "exportFilterDetails" : {
            "type" : "boolean",
            "description" : "Export filter details"
          },
          "customizedContent" : {
            "$ref" : "#/components/schemas/ApplicationExportCustomizedContent"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable Google Sheets export"
          }
        },
        "description" : "Google Sheets settings for export"
      },
      "ApplicationExportReportPdfSettings" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Enable PDF export"
          },
          "expandAllPageByFields" : {
            "type" : "boolean",
            "description" : "Expand all page-by fields"
          }
        },
        "description" : "PDF settings for export"
      },
      "ApplicationExportReportSettings" : {
        "type" : "object",
        "properties" : {
          "excelSettings" : {
            "$ref" : "#/components/schemas/ApplicationExportReportExcelSettings"
          },
          "pdfSettings" : {
            "$ref" : "#/components/schemas/ApplicationExportReportPdfSettings"
          },
          "googleSheetsSettings" : {
            "$ref" : "#/components/schemas/ApplicationExportReportGoogleSheetsSettings"
          }
        },
        "description" : "Report settings for export"
      },
      "ApplicationExportSettings" : {
        "type" : "object",
        "properties" : {
          "reportSettings" : {
            "$ref" : "#/components/schemas/ApplicationExportReportSettings"
          }
        },
        "description" : "Export settings"
      },
      "ApplicationGeneralSettings" : {
        "type" : "object",
        "properties" : {
          "disableAdvancedSettings" : {
            "type" : "boolean",
            "description" : "If true, hide advanced settings menu item"
          },
          "disablePreferences" : {
            "type" : "boolean",
            "description" : "If true, hide preferences menu item"
          },
          "networkTimeout" : {
            "type" : "integer",
            "description" : "Network timeout",
            "format" : "int32"
          },
          "cacheClearMode" : {
            "type" : "string",
            "description" : "Clear caches mode; automatic=1, onClose=2",
            "enum" : [ "1", "2" ]
          },
          "clearCacheOnLogout" : {
            "type" : "boolean",
            "description" : "If true, clear cache on log out"
          },
          "maxLogSize" : {
            "type" : "integer",
            "description" : "Maximum log size",
            "format" : "int32"
          },
          "logLevel" : {
            "type" : "string",
            "description" : "Log level; All=0, Info=10, Warning=12, Severe=14, Off=16",
            "enum" : [ "0", "10", "12", "14", "16" ]
          },
          "updateInterval" : {
            "type" : "integer",
            "description" : "When set greater than 0, specify time interval of configuration auto update in minutes, otherwise configuration auto update is disabled",
            "format" : "int32"
          }
        },
        "description" : "Mobile General settings"
      },
      "ApplicationHomeDocumentSettings" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "Share link of the Dossier/Document to be set as home screen."
          },
          "homeDocumentType" : {
            "type" : "string",
            "description" : "Home document type. Possible values: dossier, document.",
            "enum" : [ "dossier", "document" ]
          },
          "icons" : {
            "type" : "array",
            "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: comments, notifications, options, table_of_contents, bookmarks, reset, filters, share, data_search, hyper_intelligence, font_size",
            "items" : {
              "type" : "string",
              "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: comments, notifications, options, table_of_contents, bookmarks, reset, filters, share, data_search, hyper_intelligence, font_size",
              "enum" : [ "sidebars", "sort_and_filter", "multi_select", "search", "notifications", "options", "table_of_contents", "bookmarks", "reset", "filters", "comments", "share", "data_search", "hyper_intelligence", "font_size" ]
            }
          },
          "toolbarMode" : {
            "type" : "string",
            "description" : "Decide how the toolbar is shown; 0 (default): show toolbar; 1: toolbar will be collapsed by default and expanded by tapping the top right corner icon",
            "enum" : [ "0", "1" ]
          },
          "toolbarEnabled" : {
            "type" : "boolean",
            "description" : "Enable or disable the toolbar in the custom application"
          }
        },
        "description" : "If mode=1 or 2, this property is required to set a Dossier/Document/Bot as home screen."
      },
      "ApplicationHomeLibrarySettings" : {
        "type" : "object",
        "properties" : {
          "contentBundleIds" : {
            "type" : "array",
            "description" : "Content bundle ids list set by users when the application is set to library as home screen.",
            "items" : {
              "type" : "string",
              "description" : "Content bundle ids list set by users when the application is set to library as home screen."
            }
          },
          "contentGroupConfigs" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ApplicationContentGroupConfigs"
            },
            "description" : "Content group configs for the application. The key is the content group id."
          },
          "showAllContents" : {
            "type" : "boolean",
            "description" : "Whether to show all library contents if the content groups are specified in the application."
          },
          "icons" : {
            "type" : "array",
            "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: sidebars, sort_and_filter, multi_select, search, notifications, options",
            "items" : {
              "type" : "string",
              "description" : "Toolbar icons to be shown on home screen toolbar. Possible values: sidebars, sort_and_filter, multi_select, search, notifications, options",
              "enum" : [ "sidebars", "sort_and_filter", "multi_select", "search", "notifications", "options", "table_of_contents", "bookmarks", "reset", "filters", "comments", "share", "data_search", "hyper_intelligence", "font_size" ]
            }
          },
          "customizedItems" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean",
              "description" : "The customized items which use true as enabled and false as disabled"
            },
            "description" : "The customized items which use true as enabled and false as disabled"
          },
          "customizedItemProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "The properties of customized items which are used for storing item extra settings"
              },
              "description" : "The properties of customized items which are used for storing item extra settings"
            },
            "description" : "The properties of customized items which are used for storing item extra settings"
          },
          "toolbarMode" : {
            "type" : "string",
            "description" : "Decide how the toolbar is shown; 0 (default): show toolbar; 1: toolbar will be collapsed by default and expanded by tapping the top right corner icon",
            "enum" : [ "0", "1" ]
          },
          "sidebars" : {
            "type" : "array",
            "description" : "Menus to be shown in the library sidebar. Possible values: all, favorites, recents, default_groups, my_groups, options",
            "items" : {
              "type" : "string",
              "description" : "Menus to be shown in the library sidebar. Possible values: all, favorites, recents, default_groups, my_groups, options",
              "enum" : [ "all", "favorites", "recents", "default_groups", "my_groups", "options" ]
            }
          },
          "toolbarEnabled" : {
            "type" : "boolean",
            "description" : "Enable or disable the toolbar in the custom application"
          },
          "defaultGroupsName" : {
            "type" : "string",
            "description" : "The customized name for default groups"
          }
        },
        "description" : "If mode=0, this property is required to set a customized Library as home screen"
      },
      "ApplicationHomeSettings" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "Mode of home screen; 0: Library (default); 1: use Dossier/Document as home screen; 2: use Bot as home screen",
            "enum" : [ "0", "1", "2" ]
          },
          "contentType" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "boolean",
              "description" : "The content type: dossier, document and report, which use true as enabled and false as disabled"
            },
            "description" : "The content type: dossier, document and report, which use true as enabled and false as disabled"
          },
          "homeDocument" : {
            "$ref" : "#/components/schemas/ApplicationHomeDocumentSettings"
          },
          "homeLibrary" : {
            "$ref" : "#/components/schemas/ApplicationHomeLibrarySettings"
          },
          "theme" : {
            "$ref" : "#/components/schemas/ApplicationTheme"
          }
        },
        "description" : "Home screen settings"
      },
      "ApplicationSubscriptionEmailTemplate" : {
        "type" : "object",
        "properties" : {
          "subject" : {
            "type" : "string",
            "description" : "Email Subject"
          },
          "body" : {
            "type" : "string",
            "description" : "Email Body"
          },
          "senderName" : {
            "type" : "string",
            "description" : "Sender Name"
          },
          "senderAddress" : {
            "type" : "string",
            "description" : "Sender Address"
          },
          "alertSubject" : {
            "type" : "string",
            "description" : "Alert Email Subject"
          },
          "alertBody" : {
            "type" : "string",
            "description" : "Alert Email Body"
          }
        },
        "description" : "Subscription email template for iServer"
      },
      "ApplicationSystemStatus" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether to enable the system status"
          },
          "range" : {
            "type" : "string",
            "description" : "System status range",
            "enum" : [ "home_screen", "all_screen" ]
          },
          "enableTopContent" : {
            "type" : "boolean",
            "description" : "Whether to enable top content"
          },
          "topContent" : {
            "maxLength" : 5000,
            "minLength" : 0,
            "type" : "string",
            "description" : "System status top content"
          },
          "enableBottomContent" : {
            "type" : "boolean",
            "description" : "Whether to enable bottom content"
          },
          "bottomContent" : {
            "maxLength" : 5000,
            "minLength" : 0,
            "type" : "string",
            "description" : "System status bottom content"
          },
          "allowClose" : {
            "type" : "boolean",
            "description" : "Whether to allow the system status to be closed"
          },
          "topContentBackgroundColor" : {
            "type" : "string",
            "description" : "Top content background color"
          },
          "bottomContentBackgroundColor" : {
            "type" : "string",
            "description" : "Bottom content background color"
          }
        },
        "description" : "System Status"
      },
      "ApplicationTheme" : {
        "type" : "object",
        "properties" : {
          "schemaVersion" : {
            "type" : "string",
            "description" : "Theme object schema version",
            "enum" : [ "1" ]
          },
          "logos" : {
            "$ref" : "#/components/schemas/Logos"
          },
          "color" : {
            "$ref" : "#/components/schemas/Color"
          }
        },
        "description" : "Application theme"
      },
      "ApplicationVisualizationSettings" : {
        "type" : "object",
        "properties" : {
          "maximize" : {
            "type" : "boolean",
            "description" : "Whether allow users to maximize visualization"
          },
          "showData" : {
            "type" : "boolean",
            "description" : "Whether allow users to select show data"
          }
        },
        "description" : "Visualization Settings"
      },
      "ClientApplication" : {
        "required" : [ "name", "objectAcl", "objectNames" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The object creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The object last updated time in UTC",
            "format" : "date-time"
          },
          "objectVersion" : {
            "type" : "string",
            "description" : "Object version ID"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner id"
          },
          "objectNames" : {
            "type" : "array",
            "description" : "Object names and descriptions with locale",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectNameAndDescriptionWithLocale"
            }
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "managed" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is managed"
          },
          "objectAcl" : {
            "type" : "array",
            "description" : "Object ACL which contains the access control entry",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectAccessControlEntry"
            }
          },
          "propertyGroups" : {
            "type" : "array",
            "description" : "Object property groups",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectPropertyGroup"
            }
          },
          "accessGranted" : {
            "type" : "integer",
            "description" : "Object access rights. It's a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "minver4write" : {
            "type" : "integer",
            "description" : "Specifies md min version for write",
            "format" : "int32"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant name"
          },
          "schemaVersion" : {
            "type" : "integer",
            "description" : "The application object schema version; current version is 2",
            "format" : "int32"
          },
          "general" : {
            "$ref" : "#/components/schemas/ApplicationGeneralSettings"
          },
          "homeScreen" : {
            "$ref" : "#/components/schemas/ApplicationHomeSettings"
          },
          "platforms" : {
            "type" : "array",
            "description" : "The platform list in which the application will be applied to, possible platform values are web, mobile, desktop",
            "items" : {
              "type" : "string",
              "description" : "The platform list in which the application will be applied to, possible platform values are web, mobile, desktop",
              "enum" : [ "web", "mobile", "desktop" ]
            }
          },
          "applicationPalettes" : {
            "type" : "array",
            "description" : "The customized color palettes list defined in application.",
            "items" : {
              "type" : "string",
              "description" : "The customized color palettes list defined in application."
            }
          },
          "applicationDefaultPalette" : {
            "type" : "string",
            "description" : "The application default color palette id"
          },
          "applicationDefaultFont" : {
            "type" : "string",
            "description" : "The application default font family name"
          },
          "showBuiltinPalettes" : {
            "type" : "boolean",
            "description" : "Show builtin palettes or not"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "The configuration is default or not"
          },
          "useConfigPalettes" : {
            "type" : "boolean",
            "description" : "Use config level palette or not"
          },
          "emailSettings" : {
            "$ref" : "#/components/schemas/ApplicationEmailSettings"
          },
          "subscriptionEmailTemplate" : {
            "$ref" : "#/components/schemas/ApplicationSubscriptionEmailTemplate"
          },
          "aiSettings" : {
            "$ref" : "#/components/schemas/ApplicationAiSettings"
          },
          "exportSettings" : {
            "$ref" : "#/components/schemas/ApplicationExportSettings"
          },
          "authModes" : {
            "$ref" : "#/components/schemas/ApplicationAuthenticationModes"
          },
          "environments" : {
            "$ref" : "#/components/schemas/Environments"
          },
          "applicationNuggets" : {
            "maxItems" : 100,
            "minItems" : 0,
            "type" : "array",
            "description" : "The application nuggets",
            "items" : {
              "type" : "string",
              "description" : "The application nuggets"
            }
          },
          "visualizationSettings" : {
            "$ref" : "#/components/schemas/ApplicationVisualizationSettings"
          },
          "systemStatus" : {
            "$ref" : "#/components/schemas/ApplicationSystemStatus"
          }
        },
        "description" : "Library application for clients such as Web, iOS, Android and Desktop"
      },
      "Color" : {
        "required" : [ "selectedTheme" ],
        "type" : "object",
        "properties" : {
          "selectedTheme" : {
            "type" : "string",
            "description" : "Selected library theme color",
            "enum" : [ "useSystemSetting", "light", "dark", "red", "green", "blue", "darkBlue", "yellow", "custom" ]
          },
          "formatting" : {
            "$ref" : "#/components/schemas/Formatting"
          },
          "enableForBots" : {
            "type" : "boolean",
            "description" : "Flag indicating whether the theme is enabled for bots"
          }
        },
        "description" : "Theme Color"
      },
      "EnvironmentLink" : {
        "required" : [ "id", "name", "url" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Environment id"
          },
          "name" : {
            "type" : "string",
            "description" : "Environment name"
          },
          "url" : {
            "type" : "string",
            "description" : "Environment url"
          }
        },
        "description" : "List of library environments other than current environment"
      },
      "Environments" : {
        "required" : [ "current" ],
        "type" : "object",
        "properties" : {
          "current" : {
            "type" : "string",
            "description" : "Name of the current library environment"
          },
          "other" : {
            "type" : "array",
            "description" : "List of library environments other than current environment",
            "items" : {
              "$ref" : "#/components/schemas/EnvironmentLink"
            }
          }
        },
        "description" : "Environments"
      },
      "LeanObjectAccessControlEntry" : {
        "type" : "object",
        "properties" : {
          "deny" : {
            "type" : "boolean",
            "description" : "Specifies whether to deny access."
          },
          "inheritable" : {
            "type" : "boolean",
            "description" : "Specifies whether access rights are inherited."
          },
          "rights" : {
            "type" : "integer",
            "description" : "Access rights",
            "format" : "int32"
          },
          "type" : {
            "type" : "integer",
            "description" : "Access control entry type. Default is 1 for object access.",
            "format" : "int32"
          },
          "trustee" : {
            "type" : "string",
            "description" : "The trustee ID"
          }
        },
        "description" : "Object ACL which contains the access control entry"
      },
      "LeanObjectNameAndDescriptionWithLocale" : {
        "type" : "object",
        "properties" : {
          "localeId" : {
            "type" : "integer",
            "description" : "The locale id",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "The object name"
          },
          "description" : {
            "type" : "string",
            "description" : "The object description"
          }
        },
        "description" : "Object names and descriptions with locale"
      },
      "LeanObjectPropertyGroup" : {
        "type" : "object",
        "properties" : {
          "propertySet" : {
            "type" : "string",
            "description" : "The property set ID"
          },
          "propertyIndex" : {
            "type" : "integer",
            "description" : "The index of the property",
            "format" : "int32"
          },
          "propertyValue" : {
            "$ref" : "#/components/schemas/LeanObjectPropertyValue"
          }
        },
        "description" : "Object property groups"
      },
      "LeanObjectPropertyValue" : {
        "type" : "object",
        "properties" : {
          "valueType" : {
            "type" : "integer",
            "description" : "The data type of the property value",
            "format" : "int32"
          },
          "value" : {
            "type" : "object",
            "description" : "The value of the property"
          }
        },
        "description" : "The value/type pair of the property"
      },
      "Logos" : {
        "type" : "object",
        "properties" : {
          "web" : {
            "$ref" : "#/components/schemas/ThemePropObjectString"
          },
          "favicon" : {
            "$ref" : "#/components/schemas/ThemePropObjectString"
          },
          "mobile" : {
            "$ref" : "#/components/schemas/ThemePropObjectString"
          }
        },
        "description" : "Logos"
      },
      "ThemePropObjectString" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Theme property type"
          },
          "value" : {
            "type" : "string",
            "description" : "Theme property value"
          }
        },
        "description" : "Library mobile logo"
      },
      "BookmarkOwnerDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Owner ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Owner name"
          }
        },
        "description" : "Owner of the bookmark"
      },
      "BookmarkResponseDTO" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Bookmark Name"
          },
          "id" : {
            "type" : "string",
            "description" : "Bookmark ID"
          },
          "version" : {
            "type" : "string",
            "description" : "Bookmark version ID"
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Bookmark creation time in UTC",
            "format" : "date-time"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Bookmark last updated time in UTC",
            "format" : "date-time"
          },
          "lastViewTime" : {
            "type" : "string",
            "description" : "Bookmark last viewed time in UTC",
            "format" : "date-time"
          },
          "href" : {
            "type" : "string",
            "description" : "Href link to the bookmark"
          },
          "owner" : {
            "$ref" : "#/components/schemas/BookmarkOwnerDTO"
          },
          "shared" : {
            "type" : "boolean",
            "description" : "Bookmark has been shared to others"
          }
        },
        "description" : "Bookmarks",
        "readOnly" : true
      },
      "LibraryContent" : {
        "type" : "object",
        "properties" : {
          "documentContents" : {
            "type" : "array",
            "description" : "Dossier Shortcut list",
            "items" : {
              "$ref" : "#/components/schemas/LibraryShortcut"
            }
          },
          "contentBundles" : {
            "type" : "array",
            "description" : "Content bundles. This is deprecated. Use content groups instead.",
            "items" : {
              "$ref" : "#/components/schemas/LibraryContentBundle"
            }
          },
          "contentGroups" : {
            "type" : "array",
            "description" : "The content groups in the library.",
            "items" : {
              "$ref" : "#/components/schemas/LibraryContentBundle"
            }
          },
          "reportContents" : {
            "type" : "array",
            "description" : "Report Shortcut list",
            "items" : {
              "$ref" : "#/components/schemas/LibraryShortcut"
            }
          },
          "aiBotContents" : {
            "type" : "array",
            "description" : "AI Agent Shortcut list",
            "items" : {
              "$ref" : "#/components/schemas/LibraryShortcut"
            }
          }
        },
        "description" : "Library content"
      },
      "LibraryContentBundle" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Content group ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Content group name"
          },
          "color" : {
            "type" : "integer",
            "description" : "Content group color",
            "format" : "int32"
          },
          "opacity" : {
            "type" : "integer",
            "description" : "Content group opacity",
            "format" : "int32"
          },
          "contents" : {
            "type" : "array",
            "description" : "Content group contents",
            "items" : {
              "$ref" : "#/components/schemas/LibraryContentBundleShortcutInfo"
            }
          }
        },
        "description" : "Content group in the library content"
      },
      "LibraryContentBundleShortcutInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "type" : {
            "type" : "integer",
            "description" : "Shortcut object type. (See [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html) for more possible values",
            "format" : "int32"
          },
          "shortcutId" : {
            "type" : "string",
            "description" : "Shortcut ID"
          }
        },
        "description" : "Content Group content in the library content"
      },
      "LibraryShortcut" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Object name",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Object description",
            "readOnly" : true
          },
          "active" : {
            "type" : "boolean",
            "description" : "Specifies whether status is active",
            "readOnly" : true
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID",
            "readOnly" : true
          },
          "sharedTime" : {
            "type" : "string",
            "description" : "Shared time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastViewedTime" : {
            "type" : "string",
            "description" : "Last viewed time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "target" : {
            "$ref" : "#/components/schemas/PublishedTargetInfo"
          },
          "bookmarks" : {
            "type" : "array",
            "description" : "Bookmarks",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/BookmarkResponseDTO"
            }
          }
        },
        "description" : "AI Agent Shortcut list"
      },
      "PublishedTargetInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Object name",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Object description",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "chapters" : {
            "type" : "array",
            "description" : "List of chapters",
            "items" : {
              "$ref" : "#/components/schemas/Chapter"
            }
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "coverPageURL" : {
            "type" : "string",
            "description" : "Cover page URL",
            "readOnly" : true
          },
          "lastModifiedTime" : {
            "type" : "string",
            "description" : "Last modified time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "showBaseViewInLibrary" : {
            "type" : "boolean",
            "description" : "Whether the base view is shown (instead of last view) in Library",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "abbreviation of access granted",
            "format" : "int32",
            "readOnly" : true
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "readOnly" : true,
            "enum" : [ "disabled", "enabled" ]
          },
          "botConfiguration" : {
            "$ref" : "#/components/schemas/BotConfiguration"
          },
          "subType" : {
            "type" : "integer",
            "description" : "Object Sub Type",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Information about the target",
        "readOnly" : true
      },
      "PublishRecipients" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Description of the user or group the object is being published to"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the user or group the object is being published to"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Subtype of the user or group the object is being published to",
            "format" : "int32"
          },
          "id" : {
            "type" : "string",
            "description" : "ID of the user or group the object is being published to"
          }
        },
        "description" : "Users and groups granted access to this published object"
      },
      "PublishResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID provided in the publishing request"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the published object"
          },
          "viewId" : {
            "type" : "string",
            "description" : "Object ID of the personal view"
          },
          "pvid" : {
            "type" : "string",
            "description" : "Object ID of the personal view"
          },
          "managedCopyId" : {
            "type" : "string",
            "description" : "Managed copy ID"
          },
          "tarid" : {
            "type" : "string",
            "description" : "Managed copy ID"
          },
          "firstPublishDateTime" : {
            "type" : "string",
            "description" : "First publish date time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastPublishDateTime" : {
            "type" : "string",
            "description" : "Last publish date time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "modificationDateTime" : {
            "type" : "string",
            "description" : "Modification date time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version"
          },
          "n" : {
            "type" : "string",
            "writeOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Name of published object"
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Icon path of published object"
          },
          "cov" : {
            "type" : "string",
            "description" : "Icon path of published object"
          },
          "pid" : {
            "type" : "string",
            "writeOnly" : true
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID of published object"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "author" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "sourn" : {
            "type" : "string",
            "writeOnly" : true
          },
          "sourid" : {
            "type" : "string",
            "writeOnly" : true
          },
          "cbun" : {
            "type" : "string",
            "writeOnly" : true
          },
          "crtuid" : {
            "type" : "string",
            "writeOnly" : true
          },
          "tarmt" : {
            "type" : "string",
            "writeOnly" : true
          },
          "recipients" : {
            "type" : "array",
            "description" : "Users and groups granted access to this published object",
            "items" : {
              "$ref" : "#/components/schemas/PublishRecipients"
            }
          }
        }
      },
      "PatchOperationsRecipientPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RecipientPatchOperation"
            }
          }
        }
      },
      "RecipientPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "add", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "enum" : [ "/recipients" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "D09773F94699124B4D75B48F1B358327"
          }
        }
      },
      "PublishRequest" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID or instance ID of the published object."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of object to be published. When not passed, it defaults to object type document/dossier.",
            "enum" : [ "document_definition", "report_definition" ]
          },
          "useCurrentAnswer" : {
            "type" : "boolean",
            "description" : "Use the current answer to answer prompts in the shortcut, and the prompt dialog will not appear when executing the shortcut."
          },
          "recipients" : {
            "type" : "array",
            "description" : "Users and groups the object will be published to. This field is ignored if an instance is being published; an in-memory instance is published only to the current user. ",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "isInstance" : {
            "type" : "boolean",
            "description" : "Specifies whether the published object is an in-memory instance. If an object ID is specified, this value is false (default). If an instance ID is specified, this value is true and the 'recipients' field is ignored."
          }
        }
      },
      "LicenseCompliance" : {
        "type" : "object",
        "properties" : {
          "complianceTime" : {
            "type" : "string",
            "description" : "Compliance check execution time"
          },
          "complianceType" : {
            "type" : "integer",
            "description" : "Compliance Type",
            "format" : "int32"
          },
          "inCompliance" : {
            "type" : "boolean",
            "description" : "In Compliance"
          },
          "complianceResult" : {
            "type" : "object",
            "description" : "Compliance Result"
          }
        },
        "description" : "License CPU affinity info"
      },
      "LicenseAudit" : {
        "type" : "object",
        "properties" : {
          "auditTime" : {
            "type" : "string",
            "description" : "Audit time"
          },
          "contactLicenses" : {
            "type" : "object",
            "description" : "Contact licenses"
          },
          "userGroups" : {
            "type" : "array",
            "description" : "User groups",
            "items" : {
              "type" : "array",
              "description" : "User groups",
              "items" : {
                "type" : "string",
                "description" : "User groups"
              }
            }
          },
          "userLicenses" : {
            "type" : "array",
            "description" : "User licenses",
            "items" : {
              "$ref" : "#/components/schemas/UserLicense"
            }
          },
          "includeLDAP" : {
            "type" : "boolean",
            "description" : "include LDAP"
          }
        },
        "description" : "License model"
      },
      "UserLicense" : {
        "type" : "object",
        "properties" : {
          "creationTime" : {
            "type" : "string",
            "description" : "Creation Time"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Enabled"
          },
          "id" : {
            "type" : "string",
            "description" : "User id"
          },
          "licenseTypes" : {
            "type" : "array",
            "description" : "license Types",
            "items" : {
              "type" : "integer",
              "description" : "license Types",
              "format" : "int32"
            }
          },
          "modificationTime" : {
            "type" : "string",
            "description" : "Modification time"
          },
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "loginName" : {
            "type" : "string",
            "description" : "Login Name"
          },
          "userGroupsIndex" : {
            "type" : "array",
            "description" : "User groups index",
            "items" : {
              "type" : "integer",
              "description" : "User groups index",
              "format" : "int32"
            }
          },
          "LDAPUser" : {
            "type" : "boolean",
            "description" : "LDAP User"
          }
        },
        "description" : "License model"
      },
      "LicenseComplianceStatus" : {
        "type" : "object"
      },
      "License" : {
        "type" : "object",
        "properties" : {
          "bypassAudit" : {
            "type" : "boolean",
            "description" : " Specifies bypassAudit option"
          },
          "bypassCpuControls" : {
            "type" : "boolean",
            "description" : "Specifies bypassCpuControls option"
          },
          "contractId" : {
            "type" : "integer",
            "description" : "Id of the contract",
            "format" : "int32"
          },
          "disableActivation" : {
            "type" : "boolean",
            "description" : "Specifies if activation is disabled"
          },
          "enableDailyReport" : {
            "type" : "boolean",
            "description" : "Specifies if daily report is enabled"
          },
          "enableKeyLevelEvaluation" : {
            "type" : "boolean",
            "description" : "Specifies if evaluation on key level is enabled"
          },
          "installationVersion" : {
            "type" : "string",
            "description" : "License installation version"
          },
          "internal" : {
            "type" : "boolean",
            "description" : "Specifies if license is internal"
          },
          "issueDate" : {
            "type" : "string",
            "description" : "Issue date of license"
          },
          "licenseKeyGroup" : {
            "type" : "integer",
            "description" : "License key group",
            "format" : "int32"
          },
          "machineInfo" : {
            "$ref" : "#/components/schemas/MachineInfo"
          },
          "platform" : {
            "type" : "string",
            "description" : "platform type of: No Platform, AWS, Azure, Google, Linux, Windows, Docker"
          },
          "preRelease" : {
            "type" : "boolean",
            "description" : "Specifies if license is pre realase"
          },
          "products" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "description" : "Products",
              "items" : {
                "$ref" : "#/components/schemas/LicenseProduct"
              }
            },
            "description" : "Products"
          },
          "registerDate" : {
            "type" : "string",
            "description" : "Date of registration"
          },
          "registrationDisabled" : {
            "type" : "boolean",
            "description" : "Specifies if registration is disabled"
          },
          "status" : {
            "type" : "string",
            "description" : "Licence status"
          },
          "edition" : {
            "type" : "string",
            "description" : "edition"
          },
          "cpuAllowances" : {
            "type" : "object",
            "description" : "CPU allowances"
          },
          "AWS" : {
            "type" : "boolean",
            "description" : "Specifies if this is AWS license"
          },
          "ActAwareProducts" : {
            "type" : "string",
            "description" : "Three chars: first char is IServer, the second Web and the third Mobile. for example, 100 means IServer needs activation"
          },
          "DSI" : {
            "type" : "integer",
            "description" : "DSI",
            "format" : "int32"
          },
          "CPUAffinity" : {
            "$ref" : "#/components/schemas/LicenseCpuAffinity"
          },
          "installationType" : {
            "type" : "string",
            "description" : "Installation type"
          },
          "enabledPOC" : {
            "type" : "boolean",
            "description" : "Specifies if POC is enabled"
          },
          "key" : {
            "type" : "string",
            "description" : "License key"
          },
          "vCPUs" : {
            "type" : "boolean",
            "description" : "Specifies if there are CPUs"
          },
          "POCExpireDate" : {
            "type" : "string",
            "description" : "POC expire date"
          },
          "expireDate" : {
            "type" : "string",
            "description" : "Expire Date. Possible values: 'expired', 'never', or an ISO 8601 timestamp in UTC (e.g. 2023-02-22T00:00:00Z)."
          }
        },
        "description" : "License model"
      },
      "LicenseCpuAffinity" : {
        "type" : "object",
        "properties" : {
          "iServerMaxCPUAllowed" : {
            "type" : "integer",
            "description" : "Max CPU allowed",
            "format" : "int32"
          },
          "iServerPhyCPUInUse" : {
            "type" : "integer",
            "description" : "Physical CPU in use",
            "format" : "int32"
          },
          "iServerPhyCPUInUseIDs" : {
            "type" : "string",
            "description" : "Physical CPU in use ids"
          },
          "webAspMaxCPUAllowed" : {
            "type" : "integer",
            "description" : "Max cpu allowed for web asp",
            "format" : "int32"
          },
          "webAspPhyCPUInUse" : {
            "type" : "integer",
            "description" : "Physical CPU in use for web asp",
            "format" : "int32"
          },
          "webAspPhyCPUInUseIDs" : {
            "type" : "string",
            "description" : "Physical CPU ids in use for web asp"
          },
          "mobileAspMaxCPUAllowed" : {
            "type" : "integer",
            "description" : "Max CPU allowed for mobile asp",
            "format" : "int32"
          },
          "mobileAspPhyCPUInUse" : {
            "type" : "integer",
            "description" : "Physical CPU in use for mobile asp",
            "format" : "int32"
          },
          "mobileAspPhyCPUInUseIDs" : {
            "type" : "string",
            "description" : "Physical CPU ids in use for mobile asp"
          }
        },
        "description" : "License CPU affinity info"
      },
      "LicenseProduct" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "description" : "License count",
            "format" : "int32"
          },
          "duration" : {
            "type" : "integer",
            "description" : "License duration",
            "format" : "int32"
          },
          "edition" : {
            "type" : "string",
            "description" : "License edition"
          },
          "name" : {
            "type" : "string",
            "description" : "License name"
          },
          "period" : {
            "type" : "integer",
            "description" : "License period",
            "format" : "int32"
          },
          "type" : {
            "type" : "string",
            "description" : "License type"
          },
          "id" : {
            "type" : "integer",
            "description" : "License product id",
            "format" : "int32"
          }
        },
        "description" : "License product"
      },
      "MachineInfo" : {
        "type" : "object",
        "properties" : {
          "hostId" : {
            "type" : "string",
            "description" : "Host id"
          },
          "kernelRelease" : {
            "type" : "string",
            "description" : "Kernel release"
          },
          "machineName" : {
            "type" : "string",
            "description" : "Machine info"
          },
          "systemLanguage" : {
            "type" : "string",
            "description" : "System language"
          },
          "CPUSpeed" : {
            "type" : "string",
            "description" : "CPU speed"
          },
          "CPUType" : {
            "type" : "string",
            "description" : "CPU type"
          },
          "OS" : {
            "type" : "string",
            "description" : "OS"
          },
          "numPhysicalCPUs" : {
            "type" : "integer",
            "description" : "Number of physical CPUs",
            "format" : "int32"
          }
        },
        "description" : "License model"
      },
      "LicenseActivation" : {
        "type" : "object",
        "properties" : {
          "activationCode" : {
            "type" : "string",
            "description" : "Activation code"
          },
          "deactivationDate" : {
            "type" : "string",
            "description" : "Activation date"
          },
          "deactivationCode" : {
            "type" : "string",
            "description" : "Deactivation code"
          },
          "activationNeeded" : {
            "type" : "boolean",
            "description" : "Specifies if activation is needed"
          },
          "activated" : {
            "type" : "boolean",
            "description" : "Specifies if license is activated"
          },
          "activationCount" : {
            "type" : "integer",
            "description" : "Number of activations",
            "format" : "int32"
          },
          "activationDate" : {
            "type" : "string",
            "description" : "Date of activation"
          },
          "userProvidedInfo" : {
            "$ref" : "#/components/schemas/LicenseUserProvidedInfo"
          }
        },
        "description" : "License model"
      },
      "LicenseUserInfo" : {
        "type" : "object",
        "properties" : {
          "address" : {
            "type" : "string",
            "description" : "Address"
          },
          "city" : {
            "type" : "string",
            "description" : "City"
          },
          "company" : {
            "type" : "string",
            "description" : "Company"
          },
          "country" : {
            "type" : "string",
            "description" : "Country"
          },
          "department" : {
            "type" : "string",
            "description" : "Department"
          },
          "email" : {
            "type" : "string",
            "description" : "Email address"
          },
          "firstName" : {
            "type" : "string",
            "description" : "First name"
          },
          "jobTitle" : {
            "type" : "string",
            "description" : "Job title"
          },
          "lastName" : {
            "type" : "string",
            "description" : "Last name"
          },
          "phone" : {
            "type" : "string",
            "description" : "Phone number"
          },
          "postal" : {
            "type" : "string",
            "description" : "Postal code"
          },
          "state" : {
            "type" : "string",
            "description" : "State"
          },
          "usePersonalInfo" : {
            "type" : "boolean",
            "description" : "Specifies to use personal info"
          }
        },
        "description" : "License user info"
      },
      "LicenseUserProvidedInfo" : {
        "type" : "object",
        "properties" : {
          "installationLocation" : {
            "type" : "string",
            "description" : "Installation location"
          },
          "installationName" : {
            "type" : "string",
            "description" : "Installation name"
          },
          "installationUse" : {
            "type" : "string",
            "description" : "Installation use"
          },
          "contact" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/LicenseUserInfo"
            },
            "description" : "License user information"
          }
        },
        "description" : "Info provided by license users"
      },
      "LicensePrivileges" : {
        "type" : "object",
        "properties" : {
          "licenseName" : {
            "type" : "string",
            "description" : "License name"
          },
          "pws" : {
            "type" : "array",
            "description" : "Privilege list",
            "items" : {
              "$ref" : "#/components/schemas/PrivilegeWithSources"
            }
          }
        }
      },
      "PrivilegeSource" : {
        "type" : "object",
        "properties" : {
          "direct" : {
            "type" : "boolean",
            "description" : "Whether the privilege is directly granted to the user/group, or inherited from a user group, or from a assigned security role for a project"
          }
        },
        "description" : "A list of PrivilegeSource instances, each indicates one source of the privilege for the user"
      },
      "PrivilegeWithSources" : {
        "type" : "object",
        "properties" : {
          "privilege" : {
            "$ref" : "#/components/schemas/UserPrivilegeInfo"
          },
          "sources" : {
            "type" : "array",
            "description" : "A list of PrivilegeSource instances, each indicates one source of the privilege for the user",
            "items" : {
              "$ref" : "#/components/schemas/PrivilegeSource"
            }
          }
        },
        "description" : "Full list of privileges of a user or user group"
      },
      "UserPrivilegeInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Privilege ID. Possible values can be found in [EnumDSSXMLPrivilegeTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html)"
          },
          "name" : {
            "type" : "string",
            "description" : "Privilege name"
          },
          "description" : {
            "type" : "string",
            "description" : "Privilege description"
          },
          "categories" : {
            "type" : "array",
            "description" : "The privilege's category, this field is unstable, you should not depend on it",
            "items" : {
              "type" : "string",
              "description" : "The privilege's category, this field is unstable, you should not depend on it"
            }
          },
          "level" : {
            "type" : "string",
            "description" : "The filed indicate if the privilege is applicable to server level or project level. Only project level privilege can assign to a security role.",
            "enum" : [ "project", "server" ]
          }
        },
        "description" : "The privilege of interest, including Privilege Name, Id and level(project level or not"
      },
      "LicenseEntitlements" : {
        "type" : "object",
        "properties" : {
          "bypassAudit" : {
            "type" : "boolean",
            "description" : "Specifies bypassAudit option"
          },
          "bypassCpuControls" : {
            "type" : "boolean",
            "description" : "Specifies bypassCpuControls option"
          },
          "cdKeyDate" : {
            "type" : "string",
            "description" : "CD key date"
          },
          "contractId" : {
            "type" : "integer",
            "description" : "Id of the contract",
            "format" : "int32"
          },
          "edition" : {
            "type" : "string",
            "description" : "License edition"
          },
          "enableDailyReport" : {
            "type" : "boolean",
            "description" : "Specifies if daily report is enabled"
          },
          "enableKeyLevelEvaluation" : {
            "type" : "boolean",
            "description" : "Specifies if evaluation on key level is enabled"
          },
          "internal" : {
            "type" : "boolean",
            "description" : "Specifies if license is internal"
          },
          "issueDate" : {
            "type" : "string",
            "description" : "Issue date"
          },
          "licenseKeyGroup" : {
            "type" : "integer",
            "description" : "License key group",
            "format" : "int32"
          },
          "platform" : {
            "type" : "string",
            "description" : "Platform type of: No Platform, AWS, Azure, Google, Linux, Windows, Docker"
          },
          "preRelease" : {
            "type" : "boolean",
            "description" : "Specifies if license is pre realase"
          },
          "products" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "description" : "Products",
              "items" : {
                "$ref" : "#/components/schemas/LicenseProduct"
              }
            },
            "description" : "Products"
          },
          "registrationDisabled" : {
            "type" : "boolean",
            "description" : "Specifies if registration is disabled"
          },
          "cpuAllowances" : {
            "type" : "object",
            "description" : "CPU allowances"
          },
          "AWS" : {
            "type" : "boolean",
            "description" : "Specifies if this is AWS license"
          },
          "DSI" : {
            "type" : "integer",
            "description" : "DSI",
            "format" : "int32"
          },
          "enabledPOC" : {
            "type" : "boolean",
            "description" : "Specifies if POC is enabled"
          },
          "POCExpireDate" : {
            "type" : "string",
            "description" : "POC expiry date, only available if “enabledPOC” = true"
          },
          "installationType" : {
            "type" : "string",
            "description" : "Installation type"
          },
          "key" : {
            "type" : "string",
            "description" : "License key"
          },
          "vCPUs" : {
            "type" : "boolean",
            "description" : "Specifies if there are CPUs"
          }
        },
        "description" : "License entitlements model"
      },
      "LicenseActivity" : {
        "type" : "object",
        "description" : "license activities"
      },
      "LicenseHistory" : {
        "type" : "object",
        "properties" : {
          "licenseActivities" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "description" : "license activities",
              "items" : {
                "$ref" : "#/components/schemas/LicenseActivity"
              }
            },
            "description" : "license activities"
          }
        }
      },
      "LicensePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add or Replace operation to be performed",
            "enum" : [ "add", "replace" ]
          },
          "path" : {
            "pattern" : "/key|/iServerCpuAffinity|/WebCpuAffinity|/MobileCpuAffinity|/status",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/key",
            "enum" : [ "/key", "/iServerCpuAffinity", "/WebCpuAffinity", "/MobileCpuAffinity", "/status" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        },
        "description" : "Operations supported: for Named User License: \nReplace license key\n Operations supported: for CPU-based License: \nReplace license key\nAdd iserverCpuAffinity\nAdd WebCpuAffinity\nAdd MobileCpuAffinity"
      },
      "PatchOperationsLicensePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LicensePatchOperation"
            }
          }
        }
      },
      "LicenseActivationPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add or Replace operation to be performed",
            "enum" : [ "add", "replace" ]
          },
          "path" : {
            "pattern" : "/userProvidedInfo|/activationCode|/activated",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/activationCode",
            "enum" : [ "/userProvidedInfo", "/activationCode", "/activated" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        },
        "description" : "Operations supported: for Named User License: \nReplace license key\n Operations supported: for CPU-based License: \nReplace license key\nAdd iserverCpuAffinity\nAdd WebCpuAffinity\nAdd MobileCpuAffinity"
      },
      "PatchOperationsLicenseActivationPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LicenseActivationPatchOperation"
            }
          }
        }
      },
      "MapboxBoundaryParams" : {
        "required" : [ "layer", "queryFields", "worldView" ],
        "type" : "object",
        "properties" : {
          "layer" : {
            "type" : "string",
            "description" : "Shape Id.",
            "example" : "adm2",
            "enum" : [ "adm0", "adm1", "adm2", "adm3", "adm4", "pos1", "pos2", "pos3", "pos4", "sta1", "sta2", "sta3", "sta4", "sta5" ]
          },
          "queryFields" : {
            "type" : "string",
            "description" : "Query Field. A collection of geographic names to search for. For example, [{\"n\":\"york\", \"pn\":\"nebraska\"},{\"n\":\"la\"}]Note: the pn field is optional.",
            "example" : "[{\"n\":\"york\",\"pn\":\"nebraska\"},{\"n\":\"la\"}]"
          },
          "worldView" : {
            "type" : "string",
            "description" : "World View.",
            "example" : "US",
            "enum" : [ "AR", "CN", "IN", "JP", "MA", "RU", "TR", "US" ]
          },
          "parentLayer" : {
            "type" : "string",
            "description" : "Secondary Shape Id. The pn field in queryField is corresponding to this shapeId.The valid values are the same as shapeId.",
            "example" : "adm1",
            "enum" : [ "adm0", "adm1", "adm2", "adm3", "adm4" ]
          }
        }
      },
      "IamClaimMap" : {
        "required" : [ "userId" ],
        "type" : "object",
        "properties" : {
          "fullName" : {
            "type" : "string",
            "description" : "Full name"
          },
          "loginName" : {
            "type" : "string",
            "description" : "Login name"
          },
          "distinguishedName" : {
            "type" : "string",
            "description" : "Distinguished name"
          },
          "userId" : {
            "type" : "string",
            "description" : "User ID"
          },
          "email" : {
            "type" : "string",
            "description" : "Email"
          },
          "language" : {
            "type" : "string",
            "description" : "Language"
          },
          "groups" : {
            "type" : "string",
            "description" : "Groups"
          },
          "groupFormat" : {
            "type" : "string",
            "description" : "Group format",
            "enum" : [ "simple", "distinguishedName" ]
          }
        },
        "description" : "List of claims"
      },
      "IamConfig" : {
        "required" : [ "claimMap", "clientId", "default", "issuer", "mstrIam", "scopes" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 250,
            "minLength" : 0,
            "type" : "string",
            "description" : "IAM config name",
            "writeOnly" : true
          },
          "mstrIam" : {
            "type" : "boolean",
            "description" : "MSTR IAM"
          },
          "type" : {
            "type" : "string",
            "description" : "IAM config type",
            "writeOnly" : true,
            "enum" : [ "server", "app" ]
          },
          "blockAutoProvisioning" : {
            "type" : "boolean",
            "description" : "Block auto provisioning"
          },
          "directRetrieveUserInfo" : {
            "type" : "boolean",
            "description" : "Direct retrieve user info",
            "default" : false
          },
          "id" : {
            "type" : "string",
            "description" : "ID"
          },
          "vendor" : {
            "$ref" : "#/components/schemas/IamVendor"
          },
          "issuer" : {
            "type" : "string",
            "description" : "Issuer"
          },
          "clientId" : {
            "type" : "string",
            "description" : "Client ID"
          },
          "clientName" : {
            "type" : "string",
            "description" : "Client name"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "Client secret"
          },
          "nativeClientId" : {
            "type" : "string",
            "description" : "Native client ID"
          },
          "redirectUri" : {
            "type" : "string",
            "description" : "Redirect URI"
          },
          "workstationRedirectHost" : {
            "type" : "string",
            "description" : "Workstation Redirect Host",
            "enum" : [ "localhost", "loopback-ip", "scheme" ]
          },
          "globalLogout" : {
            "type" : "boolean",
            "description" : "Global logout"
          },
          "scopes" : {
            "type" : "array",
            "description" : "List of scopes",
            "items" : {
              "type" : "string",
              "description" : "List of scopes"
            }
          },
          "claimMap" : {
            "$ref" : "#/components/schemas/IamClaimMap"
          },
          "adminGroups" : {
            "type" : "array",
            "description" : "List of admin groups",
            "items" : {
              "type" : "string",
              "description" : "List of admin groups"
            }
          },
          "nativeClients" : {
            "type" : "array",
            "description" : "List of oidc native clients",
            "items" : {
              "$ref" : "#/components/schemas/OidcIamClient"
            }
          },
          "systemPromptMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/IamSystemPromptInfo"
            },
            "description" : "System prompt map from OIDC claim"
          },
          "default" : {
            "type" : "boolean",
            "description" : "Default config"
          },
          "additionalParameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Additional parameters"
            },
            "description" : "Additional parameters"
          }
        }
      },
      "IamVendor" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name"
          },
          "version" : {
            "type" : "string",
            "description" : "Version"
          }
        },
        "description" : "Vendor"
      },
      "OidcIamClient" : {
        "type" : "object",
        "properties" : {
          "applicationType" : {
            "type" : "integer",
            "description" : "The client type of the application. More detail see EnumDSSXMLClientTypes",
            "format" : "int32"
          },
          "clientId" : {
            "type" : "string",
            "description" : "The client id of the application"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "The client secret of the application"
          },
          "clientRedirectUriScheme" : {
            "type" : "string",
            "description" : "The client name of the application"
          },
          "scopes" : {
            "type" : "array",
            "description" : "The scopes of the application",
            "items" : {
              "type" : "string",
              "description" : "The scopes of the application"
            }
          }
        },
        "description" : "List of oidc native clients"
      },
      "OidcConfig" : {
        "type" : "object",
        "properties" : {
          "iams" : {
            "type" : "array",
            "description" : "List of IAMs",
            "items" : {
              "$ref" : "#/components/schemas/IamConfig"
            }
          }
        }
      },
      "SAMLMetaInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "format" : "date-time"
          },
          "serverDefault" : {
            "type" : "boolean"
          }
        }
      },
      "PaginableInstanceCreationInfo" : {
        "required" : [ "id", "totalItems" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Instance ID of in-memory search results"
          },
          "totalItems" : {
            "type" : "integer",
            "description" : "Total number of items in search results",
            "format" : "int32"
          }
        },
        "description" : "IServer in-memory instance that supports incremental fetch"
      },
      "BaseObjectNode" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "children" : {
            "type" : "array",
            "description" : "Children of the object",
            "items" : {
              "type" : "object",
              "description" : "Children of the object"
            }
          },
          "isRoot" : {
            "type" : "boolean",
            "description" : "Specifies whether this is the root object"
          },
          "root" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        }
      },
      "Creator" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User ID"
          },
          "name" : {
            "type" : "string",
            "description" : "User name"
          },
          "fullName" : {
            "type" : "string",
            "description" : "User full name"
          }
        },
        "description" : "Creator of this file."
      },
      "DependencySearchSettings" : {
        "type" : "object",
        "properties" : {
          "excludeChildAttributes" : {
            "type" : "boolean"
          },
          "excludeParentAttributes" : {
            "type" : "boolean"
          }
        },
        "description" : "Specify objects to be excluded from the automatic dependency search."
      },
      "Environment" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Environment ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Environment name"
          }
        },
        "description" : "Environment information about where this file is uploaded."
      },
      "MigrationGroupDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration group id"
          },
          "name" : {
            "type" : "string",
            "description" : "Migration group name"
          },
          "sourceEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "targetEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Migration group import creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Migration group import last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "certification" : {
            "$ref" : "#/components/schemas/MigrationPackageCertificationDto"
          },
          "migrations" : {
            "type" : "array",
            "description" : "migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupSingleDto"
            }
          },
          "version" : {
            "type" : "string",
            "description" : "Api version, default is zero"
          }
        }
      },
      "MigrationGroupImportDto" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "groupId" : {
            "type" : "string",
            "description" : "Import group id"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "import creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "import last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Import progress.",
            "format" : "double"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this import failed."
          },
          "undoStorage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "deleted flag."
          }
        },
        "description" : "import information of migration"
      },
      "MigrationGroupPackageDto" : {
        "required" : [ "creationDate", "creator", "lastUpdatedDate", "name", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "groupId" : {
            "type" : "string",
            "description" : "Package group id"
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "purpose" : {
            "type" : "string",
            "description" : "administration_migration_parent: The package is used for migration group. This is the parent migration for the migration group.\nadministration_migration_child: The package is used for migration group. This is the child migration for the migration group.",
            "enum" : [ "migration_group", "migration_group_child" ]
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration Group create.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "progress" : {
            "type" : "number",
            "description" : "Package progress.",
            "format" : "double"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Deleted flag."
          },
          "existing" : {
            "type" : "boolean",
            "description" : "Existing flag."
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationPackageTocViewDto"
          }
        },
        "description" : "package information of migration"
      },
      "MigrationGroupSingleDto" : {
        "required" : [ "importInfo" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupPackageDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupImportDto"
          }
        },
        "description" : "migrations belong to this group"
      },
      "MigrationPackageCertificationDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status of the package certification",
            "enum" : [ "uncertified", "requested", "certified", "rejected" ]
          },
          "operator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Creation time of the package certification, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          }
        },
        "description" : "Certification information of this package"
      },
      "MigrationSettings" : {
        "type" : "object",
        "properties" : {
          "keepModificationTimestamp" : {
            "type" : "boolean"
          }
        },
        "description" : "Handle how objects are migrated from one project to another."
      },
      "ObjectMigrationPackageTocViewDto" : {
        "required" : [ "content", "settings" ],
        "type" : "object",
        "properties" : {
          "settings" : {
            "$ref" : "#/components/schemas/PackageSettingDTO"
          },
          "content" : {
            "type" : "array",
            "description" : "Package content",
            "items" : {
              "$ref" : "#/components/schemas/PackageContentDTO"
            }
          }
        },
        "description" : "tocView of this package"
      },
      "OwnerDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Owner ID"
          }
        },
        "description" : "Owner information",
        "readOnly" : true
      },
      "PackageContentDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "version" : {
            "type" : "string",
            "description" : "Object version"
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values are defined in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
            "format" : "int32"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerDTO"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Object creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Object last update time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "action" : {
            "type" : "string",
            "description" : "The action to resolve the conflict.\n\nuse_existing: No change is made to the destination object. The source object is not copied.\n\nreplace: The destination object is replaced with the source object.Note the following:\n\n •  If the conflict type is Exists identically except for path, or Exists identically except for Distribution Services objects, the destination object is updated to reflect the path or Distribution Services addresses and contacts of the source object.\n\n •  Replace moves the object into the same parent folder as source object. If the parent path is the same between source and destination but the grandparent path is different, Replace may appear to do nothing because Replace puts the object into the same parent path.\n\n •  Non-empty folders in the destination location will never have the same version ID and modification time as the source, because the folder is copied first and the objects are added to it, thus changing the version ID and modification times during the copy process.\n\nkeep_both: No change is made to the destination object. The source object is duplicated if destination object doesn't exist. But if the destination object exists with the same id and same version, this source object is ignored.If the destination object exists with the same id and different version, this source object is saved as new object.\n\nuse_newer: If the source object's modification time is more recent than the destination object's, the Replace action is used.Otherwise, the Use existing action is used.\n\nuse_older: If the source object's modification time is more recent than the destination object's, the Use existing action is used. Otherwise, the Replace action is used.\n\nforce_replace: Replace the object in the destination project with the version of the object in the update package, even if both versions of the object have the same Version ID.\n\ndelete: Delete the object from the destination project. The version of the object in the update package is not imported into the destination project.Warning: If the object in the destination has any used-by dependencies when you import the update package, the import will fail.",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          },
          "includeDependents" : {
            "type" : "boolean",
            "description" : "Include the dependents for this object or not"
          },
          "explicitIncluded" : {
            "type" : "boolean",
            "description" : "Explicitly included or not"
          },
          "level" : {
            "type" : "string",
            "description" : "Object type. Possible values are 'configuration_object', 'project_object'",
            "enum" : [ "project_object", "configuration_object", "unknown" ]
          }
        },
        "description" : "Package content"
      },
      "PackageSettingDTO" : {
        "required" : [ "defaultAction" ],
        "type" : "object",
        "properties" : {
          "updateSchema" : {
            "type" : "array",
            "description" : "They allow you to configure the package to automatically perform certain schema update functions. These options can be useful if you make any changes to schema objects. Use the recalculate table keys and fact entry levels if you changed the key structure of a table or if you changed the level at which a fact is stored.Use the recalculate table logical sizes to override any modifications that you have made to logical table sizes. (Logical table sizes affect how the MicroStrategy SQL Engine determines which tables to use in a query.)",
            "items" : {
              "type" : "string",
              "description" : "They allow you to configure the package to automatically perform certain schema update functions. These options can be useful if you make any changes to schema objects. Use the recalculate table keys and fact entry levels if you changed the key structure of a table or if you changed the level at which a fact is stored.Use the recalculate table logical sizes to override any modifications that you have made to logical table sizes. (Logical table sizes affect how the MicroStrategy SQL Engine determines which tables to use in a query.)",
              "enum" : [ "recal_table_logical_size", "recal_table_keys_fact_entry_level", "update_schema_logical_info" ]
            }
          },
          "aclOnReplacingObjects" : {
            "type" : "string",
            "description" : "If you resolve a conflict with the \"Replace\" action, and the access control lists (ACL) of the objects are different between the two projects, you can choose whether to keep the existing ACL in the destination project, replace it with the ACL from the source project or keep both (only supported for project merge).Note: This is not supported for project security packages. ",
            "enum" : [ "use_existing", "replace", "keep_both" ]
          },
          "aclOnNewObjects" : {
            "type" : "array",
            "description" : "If you add a new object to the destination project with the \"Create New\" or \"Keep Both action\", you can choose to have the object inherit its ACL from the destination folder instead of keeping its own ACL. This is helpful when copying an object into a user's profile folder, so that the user can have full control over the object.",
            "items" : {
              "type" : "string",
              "description" : "If you add a new object to the destination project with the \"Create New\" or \"Keep Both action\", you can choose to have the object inherit its ACL from the destination folder instead of keeping its own ACL. This is helpful when copying an object into a user's profile folder, so that the user can have full control over the object.",
              "enum" : [ "keep_acl_as_source_object", "inherit_acl_as_dest_folder" ]
            }
          },
          "defaultAction" : {
            "type" : "string",
            "description" : "The action to resolve the conflict.\n\nuse_existing: No change is made to the destination object. The source object is not copied.\n\nreplace: The destination object is replaced with the source object.Note the following:\n\n •  If the conflict type is Exists identically except for path, or Exists identically except for Distribution Services objects, the destination object is updated to reflect the path or Distribution Services addresses and contacts of the source object.\n\n •  Replace moves the object into the same parent folder as source object. If the parent path is the same between source and destination but the grandparent path is different, Replace may appear to do nothing because Replace puts the object into the same parent path.\n\n •  Non-empty folders in the destination location will never have the same version ID and modification time as the source, because the folder is copied first and the objects are added to it, thus changing the version ID and modification times during the copy process.\n\nkeep_both: No change is made to the destination object. The source object is duplicated if destination object doesn't exist. But if the destination object exists with the same id and same version, this source object is ignored.If the destination object exists with the same id and different version, this source object is saved as new object.\n\nuse_newer: If the source object's modification time is more recent than the destination object's, the Replace action is used.Otherwise, the Use existing action is used.\n\nuse_older: If the source object's modification time is more recent than the destination object's, the Use existing action is used. Otherwise, the Replace action is used.\n\nforce_replace: Replace the object in the destination project with the version of the object in the update package, even if both versions of the object have the same Version ID.\n\ndelete: Delete the object from the destination project. The version of the object in the update package is not imported into the destination project.Warning: If the object in the destination has any used-by dependencies when you import the update package, the import will fail.",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          },
          "dependencySearch" : {
            "$ref" : "#/components/schemas/DependencySearchSettings"
          },
          "migration" : {
            "$ref" : "#/components/schemas/MigrationSettings"
          }
        },
        "description" : "Package settings"
      },
      "PackageStorageDto" : {
        "required" : [ "path", "size" ],
        "type" : "object",
        "properties" : {
          "size" : {
            "type" : "integer",
            "description" : "Package size.",
            "format" : "int64"
          },
          "path" : {
            "type" : "string",
            "description" : "Package path."
          }
        },
        "description" : "Storage information of this package."
      },
      "PackageWarning" : {
        "type" : "object",
        "properties" : {
          "additionalProperties" : {
            "$ref" : "#/components/schemas/PackageWarningProperty"
          },
          "message" : {
            "type" : "string",
            "description" : "iServer error message"
          },
          "iServerErrorCode" : {
            "type" : "integer",
            "description" : "iServer error code",
            "format" : "int32"
          }
        },
        "description" : "Record warning message of the partial success package for Migration import."
      },
      "PackageWarningProperty" : {
        "type" : "object",
        "properties" : {
          "bannedObjectCount" : {
            "type" : "integer",
            "description" : "Number of objects that are not supported in the target environment",
            "format" : "int32"
          }
        },
        "description" : "Additional properties of the package warning"
      },
      "PageMigrationGroupDto" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "format" : "int64"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "data" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupDto"
            }
          }
        }
      },
      "PackageCertificationPatchDto" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Package certification status",
            "enum" : [ "uncertified", "requested", "certified", "rejected" ]
          },
          "operator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "The last updated date of the certification operation",
            "format" : "date-time"
          }
        },
        "description" : "package certification information"
      },
      "MigrationGroupImportStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "groupId" : {
            "type" : "string",
            "description" : "Import group id"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Import progress.",
            "format" : "double"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationGroupPackageStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "groupId" : {
            "type" : "string",
            "description" : "Package group id"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\n\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\n\ncreated: The package is ready to be migrated.\n\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\n\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Progress of the package creation",
            "format" : "double"
          }
        },
        "description" : "package information of migration"
      },
      "MigrationGroupStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration group id"
          },
          "name" : {
            "type" : "string",
            "description" : "Migration group name"
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "migrations" : {
            "type" : "array",
            "description" : "Migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupStatusSingleDto"
            }
          }
        }
      },
      "MigrationGroupStatusSingleDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupPackageStatusDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupImportStatusDto"
          }
        },
        "description" : "Migrations belong to this group"
      },
      "MigrationGroupCreateDto" : {
        "required" : [ "migrations", "name", "sourceEnvironment", "treeView" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "migration group package name"
          },
          "sourceEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "targetEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "migrations" : {
            "type" : "array",
            "description" : "Migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupCreateSingleDto"
            }
          }
        }
      },
      "MigrationGroupCreateSingleDto" : {
        "required" : [ "importInfo", "packageInfo" ],
        "type" : "object",
        "properties" : {
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupPackageCreateDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupImportCreateDto"
          }
        },
        "description" : "Migrations belong to this group"
      },
      "MigrationGroupImportCreateDto" : {
        "type" : "object",
        "properties" : {
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "import information of migration group"
      },
      "MigrationGroupPackageCreateDto" : {
        "required" : [ "tocView", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationTocViewCreateDto"
          }
        },
        "description" : "package information of migration group"
      },
      "ObjectMigrationTocViewCreateDto" : {
        "required" : [ "content", "settings" ],
        "type" : "object",
        "properties" : {
          "settings" : {
            "$ref" : "#/components/schemas/PackageSettingDTO"
          },
          "content" : {
            "type" : "array",
            "description" : "Package content",
            "items" : {
              "$ref" : "#/components/schemas/PackageUpdateContentDTO"
            }
          }
        },
        "description" : "tocView of this package"
      },
      "PackageUpdateContentDTO" : {
        "required" : [ "action", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values are defined in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html).",
            "format" : "int32"
          },
          "action" : {
            "type" : "string",
            "description" : "The action to resolve the conflict.\n\nuse_existing: No change is made to the destination object. The source object is not copied.\n\nreplace: The destination object is replaced with the source object.Note the following:\n\n •  If the conflict type is Exists identically except for path, or Exists identically except for Distribution Services objects, the destination object is updated to reflect the path or Distribution Services addresses and contacts of the source object.\n\n •  Replace moves the object into the same parent folder as source object. If the parent path is the same between source and destination but the grandparent path is different, Replace may appear to do nothing because Replace puts the object into the same parent path.\n\n •  Non-empty folders in the destination location will never have the same version ID and modification time as the source, because the folder is copied first and the objects are added to it, thus changing the version ID and modification times during the copy process.\n\nkeep_both: No change is made to the destination object. The source object is duplicated if destination object doesn't exist. But if the destination object exists with the same id and same version, this source object is ignored.If the destination object exists with the same id and different version, this source object is saved as new object.\n\nuse_newer: If the source object's modification time is more recent than the destination object's, the Replace action is used.Otherwise, the Use existing action is used.\n\nuse_older: If the source object's modification time is more recent than the destination object's, the Use existing action is used. Otherwise, the Replace action is used.\n\nforce_replace: Replace the object in the destination project with the version of the object in the update package, even if both versions of the object have the same Version ID.\n\ndelete: Delete the object from the destination project. The version of the object in the update package is not imported into the destination project.Warning: If the object in the destination has any used-by dependencies when you import the update package, the import will fail.",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          },
          "includeDependents" : {
            "type" : "boolean",
            "description" : "Include the dependents for this object or not"
          },
          "level" : {
            "type" : "string",
            "description" : "Object type. Possible values are 'configuration_object', 'project_object'",
            "enum" : [ "project_object", "configuration_object", "unknown" ]
          }
        },
        "description" : "Package content"
      },
      "MigrationImportStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Import progress.",
            "format" : "double"
          }
        },
        "description" : "The id and status of import"
      },
      "MigrationPackageStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\n\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\n\ncreated: The package is ready to be migrated.\n\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\n\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "The progress of the package",
            "format" : "double"
          }
        },
        "description" : "The id and status of package"
      },
      "MigrationStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackageStatusDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportStatusDto"
          },
          "validation" : {
            "$ref" : "#/components/schemas/MigrationValidateStatusDto"
          }
        }
      },
      "MigrationValidateStatusDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "validating: The validation is processing. We need to wait for it to be finished.\n\nvalidated: The validation is successful.\n\nvalidate_failed: The validation failed.",
            "enum" : [ "validating", "validated", "validation_failed" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Validate progress.",
            "format" : "double"
          }
        },
        "description" : "The status and progress of validation"
      },
      "ConfigurationPackageInfo" : {
        "required" : [ "name", "tocView", "treeView" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationTocViewCreateDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          }
        },
        "description" : "Package information of migration"
      },
      "MigrationGroupTransformDto" : {
        "required" : [ "packageInfo" ],
        "type" : "object",
        "properties" : {
          "packageInfo" : {
            "$ref" : "#/components/schemas/ConfigurationPackageInfo"
          }
        }
      },
      "MigrationGroupImportUpdateDto" : {
        "required" : [ "groupId", "id", "status" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "groupId" : {
            "type" : "string",
            "description" : "Import group id"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationGroupPackageUpdateDto" : {
        "required" : [ "creationDate", "creator", "groupId", "id", "lastUpdatedDate", "progress", "purpose", "replicated", "status", "storage", "tocView", "type" ],
        "type" : "object",
        "properties" : {
          "groupId" : {
            "type" : "string",
            "description" : "Package group id"
          },
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "purpose" : {
            "type" : "string",
            "description" : "administration_migration_parent: The package is used for migration group. This is the parent migration for the migration group.\nadministration_migration_child: The package is used for migration group. This is the child migration for the migration group.",
            "enum" : [ "migration_group", "migration_group_child" ]
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration Group import.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "progress" : {
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Progress of this package",
            "format" : "double"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationPackageTocViewDto"
          }
        },
        "description" : "package information of migration"
      },
      "MigrationGroupSingleUpdateDto" : {
        "required" : [ "id", "importInfo", "packageInfo" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupPackageUpdateDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupImportUpdateDto"
          }
        },
        "description" : "migrations belong to this group"
      },
      "MigrationGroupUpdateDto" : {
        "required" : [ "id", "importRequestStatus", "migrations", "name", "sourceEnvironment", "targetEnvironment", "treeView", "undoRequestStatus" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration group id"
          },
          "name" : {
            "type" : "string",
            "description" : "Migration group name"
          },
          "sourceEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "targetEnvironment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "migrations" : {
            "type" : "array",
            "description" : "migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupSingleUpdateDto"
            }
          },
          "version" : {
            "type" : "string",
            "description" : "Api version, default is zero"
          }
        }
      },
      "MigrationGroupEditDto" : {
        "required" : [ "migrations", "name", "treeView" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Migration group package name"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "migrations" : {
            "type" : "array",
            "description" : "Migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupCreateSingleDto"
            }
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          }
        }
      },
      "MigrationGroupPutDtoBase" : {
        "type" : "object",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/MigrationGroupUpdateDto"
        }, {
          "$ref" : "#/components/schemas/MigrationGroupEditDto"
        } ]
      },
      "EnvironmentPatchDto" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Environment ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Environment name"
          }
        },
        "description" : "environment info"
      },
      "MigrationGroupImportPatchDto" : {
        "type" : "object",
        "properties" : {
          "project" : {
            "$ref" : "#/components/schemas/ProjectPatchDto"
          }
        },
        "description" : "Migration import project"
      },
      "MigrationGroupPatchDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "migration group package name"
          },
          "targetEnvironment" : {
            "$ref" : "#/components/schemas/EnvironmentPatchDto"
          },
          "migrations" : {
            "type" : "array",
            "description" : "patch for each migration",
            "items" : {
              "$ref" : "#/components/schemas/MigrationProjectDto"
            }
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          }
        }
      },
      "MigrationProjectDto" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration ID"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationGroupImportPatchDto"
          }
        },
        "description" : "patch for each migration"
      },
      "ProjectPatchDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          }
        },
        "description" : "project info"
      },
      "MigrationDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackageDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportDto"
          },
          "validation" : {
            "$ref" : "#/components/schemas/MigrationValidationDto"
          },
          "version" : {
            "type" : "string",
            "description" : "Api version, default is zero"
          }
        }
      },
      "MigrationImportDto" : {
        "required" : [ "environment", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "import creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "import last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Import progress.",
            "format" : "double"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this import failed."
          },
          "undoStorage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Whether the import is deleted."
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID of the import target"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationPackageDto" : {
        "required" : [ "creationDate", "creator", "environment", "lastUpdatedDate", "name", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration create.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "progress" : {
            "type" : "number",
            "description" : "Package progress.",
            "format" : "double"
          },
          "deleted" : {
            "type" : "boolean",
            "description" : "Whether this package is deleted."
          },
          "existing" : {
            "type" : "boolean",
            "description" : "Whether this package is existing."
          },
          "tocView" : {
            "$ref" : "#/components/schemas/MigrationPackageTocViewDtoBase"
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "treeView" : {
            "type" : "object",
            "description" : "Tree view of this package"
          },
          "certification" : {
            "$ref" : "#/components/schemas/MigrationPackageCertificationDto"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID of the package creator"
          }
        },
        "description" : "package information of migration"
      },
      "MigrationPackageTocViewDtoBase" : {
        "type" : "object",
        "description" : "tocView of this package",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ObjectMigrationPackageTocViewDto"
        }, {
          "$ref" : "#/components/schemas/ProjectMergePackageTocViewDto"
        } ]
      },
      "MigrationValidationDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "validating: The validation is processing. We need to wait for it to be finished.\n\nvalidated: The validation is successful.\n\nvalidate_failed: The validation failed.",
            "enum" : [ "validating", "validated", "validation_failed" ]
          },
          "progress" : {
            "type" : "number",
            "description" : "Validation progress.",
            "format" : "double"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this validation failed."
          },
          "creationDate" : {
            "type" : "string",
            "description" : "validation creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "validation last updated time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          }
        },
        "description" : "validation information of migration"
      },
      "PackageObjectTypeAction" : {
        "required" : [ "action", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object subtype",
            "format" : "int32"
          },
          "action" : {
            "type" : "string",
            "description" : "Action to perform on the object",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          }
        },
        "description" : "Conflict actions for object types. Available actions include: use_existing, keep_both, replace, use_older, use_newer."
      },
      "PackageSpecificObjectAction" : {
        "required" : [ "action", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "action" : {
            "type" : "string",
            "description" : "Action to perform on the object",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          }
        },
        "description" : "Conflict actions for objects. Available actions include: use_existing, replace, use_older, use_newer."
      },
      "ProjectMergePackageSettingDto" : {
        "required" : [ "defaultAction" ],
        "type" : "object",
        "properties" : {
          "updateSchema" : {
            "type" : "array",
            "description" : "They allow you to configure the package to automatically perform certain schema update functions. These options can be useful if you make any changes to schema objects. Use the recalculate table keys and fact entry levels if you changed the key structure of a table or if you changed the level at which a fact is stored.Use the recalculate table logical sizes to override any modifications that you have made to logical table sizes. (Logical table sizes affect how the MicroStrategy SQL Engine determines which tables to use in a query.)",
            "items" : {
              "type" : "string",
              "description" : "They allow you to configure the package to automatically perform certain schema update functions. These options can be useful if you make any changes to schema objects. Use the recalculate table keys and fact entry levels if you changed the key structure of a table or if you changed the level at which a fact is stored.Use the recalculate table logical sizes to override any modifications that you have made to logical table sizes. (Logical table sizes affect how the MicroStrategy SQL Engine determines which tables to use in a query.)",
              "enum" : [ "recal_table_logical_size", "recal_table_keys_fact_entry_level", "update_schema_logical_info" ]
            }
          },
          "aclOnReplacingObjects" : {
            "type" : "string",
            "description" : "If you resolve a conflict with the \"Replace\" action, and the access control lists (ACL) of the objects are different between the two projects, you can choose whether to keep the existing ACL in the destination project, replace it with the ACL from the source project or keep both (only supported for project merge).Note: This is not supported for project security packages. ",
            "enum" : [ "use_existing", "replace", "keep_both" ]
          },
          "aclOnNewObjects" : {
            "type" : "array",
            "description" : "If you add a new object to the destination project with the \"Create New\" or \"Keep Both action\", you can choose to have the object inherit its ACL from the destination folder instead of keeping its own ACL. This is helpful when copying an object into a user's profile folder, so that the user can have full control over the object.",
            "items" : {
              "type" : "string",
              "description" : "If you add a new object to the destination project with the \"Create New\" or \"Keep Both action\", you can choose to have the object inherit its ACL from the destination folder instead of keeping its own ACL. This is helpful when copying an object into a user's profile folder, so that the user can have full control over the object.",
              "enum" : [ "keep_acl_as_source_object", "inherit_acl_as_dest_folder" ]
            }
          },
          "defaultAction" : {
            "type" : "string",
            "description" : "The action to resolve the conflict.\n\nuse_existing: No change is made to the destination object. The source object is not copied.\n\nreplace: The destination object is replaced with the source object.Note the following:\n\n •  If the conflict type is Exists identically except for path, or Exists identically except for Distribution Services objects, the destination object is updated to reflect the path or Distribution Services addresses and contacts of the source object.\n\n •  Replace moves the object into the same parent folder as source object. If the parent path is the same between source and destination but the grandparent path is different, Replace may appear to do nothing because Replace puts the object into the same parent path.\n\n •  Non-empty folders in the destination location will never have the same version ID and modification time as the source, because the folder is copied first and the objects are added to it, thus changing the version ID and modification times during the copy process.\n\nkeep_both: No change is made to the destination object. The source object is duplicated if destination object doesn't exist. But if the destination object exists with the same id and same version, this source object is ignored.If the destination object exists with the same id and different version, this source object is saved as new object.\n\nuse_newer: If the source object's modification time is more recent than the destination object's, the Replace action is used.Otherwise, the Use existing action is used.\n\nuse_older: If the source object's modification time is more recent than the destination object's, the Use existing action is used. Otherwise, the Replace action is used.\n\nforce_replace: Replace the object in the destination project with the version of the object in the update package, even if both versions of the object have the same Version ID.\n\ndelete: Delete the object from the destination project. The version of the object in the update package is not imported into the destination project.Warning: If the object in the destination has any used-by dependencies when you import the update package, the import will fail.",
            "enum" : [ "use_existing", "replace", "keep_both", "use_newer", "use_older", "force_replace", "delete" ]
          },
          "dependencySearch" : {
            "$ref" : "#/components/schemas/DependencySearchSettings"
          },
          "migration" : {
            "$ref" : "#/components/schemas/MigrationSettings"
          },
          "validateDependencies" : {
            "type" : "boolean",
            "description" : "Whether to validate dependencies on import. Default is true."
          },
          "folderActions" : {
            "type" : "array",
            "description" : "Conflict actions for folders. Available actions include: use_existing, replace, use_older, use_newer.",
            "items" : {
              "$ref" : "#/components/schemas/PackageSpecificObjectAction"
            }
          },
          "objectActions" : {
            "type" : "array",
            "description" : "Conflict actions for objects. Available actions include: use_existing, replace, use_older, use_newer.",
            "items" : {
              "$ref" : "#/components/schemas/PackageSpecificObjectAction"
            }
          },
          "objectTypeActions" : {
            "type" : "array",
            "description" : "Conflict actions for object types. Available actions include: use_existing, keep_both, replace, use_older, use_newer.",
            "items" : {
              "$ref" : "#/components/schemas/PackageObjectTypeAction"
            }
          },
          "translationAction" : {
            "type" : "string",
            "description" : "Conflict actions for translations.\nnot_merged: Don not merge translations.\nuse_existing: Keep the existing translations.\nreplace: Replace the translations from the source.\nforce_replace: Force replace the translation from the source even if the object exists identically.",
            "enum" : [ "not_merged", "use_existing", "replace", "force_replace" ]
          }
        },
        "description" : "Package settings"
      },
      "ProjectMergePackageTocViewDto" : {
        "required" : [ "settings" ],
        "type" : "object",
        "properties" : {
          "settings" : {
            "$ref" : "#/components/schemas/ProjectMergePackageSettingDto"
          }
        },
        "description" : "tocView of this package"
      },
      "PageMigrationDto" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "format" : "int64"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "data" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MigrationDto"
            }
          }
        }
      },
      "AutoSyncResponse" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "description" : "The total number of elements.",
            "format" : "int32"
          },
          "changed" : {
            "type" : "integer",
            "description" : "The number of elements that have been changed.",
            "format" : "int32"
          }
        }
      },
      "MigrationCreateDto" : {
        "required" : [ "importInfo" ],
        "type" : "object",
        "properties" : {
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackagePostDtoBase"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportCreateDto"
          },
          "locks" : {
            "type" : "array",
            "description" : "locks to unlock of migration",
            "items" : {
              "$ref" : "#/components/schemas/MigrationCreateLockDto"
            }
          }
        }
      },
      "MigrationCreateLockDto" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Lock ID."
          },
          "type" : {
            "type" : "string",
            "description" : "Lock type.",
            "enum" : [ "NOT_LOCKED", "TEMPORAL_INDIVIDUAL", "TEMPORAL_CONSTITUENT", "PERMANENT_INDIVIDUAL", "PERMANENT_CONSTITUENT", "NOT_SUPPORTED" ]
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID, this is optional for a configuration lock."
          }
        },
        "description" : "locks to unlock of migration"
      },
      "MigrationImportCreateDto" : {
        "type" : "object",
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationPackagePostDtoBase" : {
        "type" : "object",
        "properties" : {
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          }
        },
        "description" : "package information of migration",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ObjectMigrationPackageCreateDto"
        }, {
          "$ref" : "#/components/schemas/ProjectMergePackageCreateDto"
        }, {
          "$ref" : "#/components/schemas/SharedFileStorePackageCreateDto"
        } ]
      },
      "ObjectMigrationPackageCreateDto" : {
        "required" : [ "environment", "name", "tocView", "treeView", "type" ],
        "type" : "object",
        "properties" : {
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationTocViewCreateDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          }
        }
      },
      "ProjectMergePackageCreateDto" : {
        "required" : [ "environment", "name", "tocView", "treeView", "type" ],
        "type" : "object",
        "properties" : {
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ProjectMergeTocViewCreateDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          }
        }
      },
      "ProjectMergeTocViewCreateDto" : {
        "required" : [ "settings" ],
        "type" : "object",
        "properties" : {
          "settings" : {
            "$ref" : "#/components/schemas/ProjectMergePackageSettingDto"
          }
        },
        "description" : "TocView of this package"
      },
      "SharedFilePackageStorageDto" : {
        "required" : [ "sharedFileStore" ],
        "type" : "object",
        "properties" : {
          "sharedFileStore" : {
            "$ref" : "#/components/schemas/SharedFileStoreDto"
          }
        },
        "description" : "shared file storage"
      },
      "SharedFileStoreDto" : {
        "required" : [ "files" ],
        "type" : "object",
        "properties" : {
          "files" : {
            "$ref" : "#/components/schemas/ObjectId"
          }
        },
        "description" : "Shared file store"
      },
      "SharedFileStorePackageCreateDto" : {
        "required" : [ "storage" ],
        "type" : "object",
        "properties" : {
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "storage" : {
            "$ref" : "#/components/schemas/SharedFilePackageStorageDto"
          }
        }
      },
      "MigrationPackageEditDtoBase" : {
        "required" : [ "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          }
        },
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ObjectMigrationPackageEditDto"
        }, {
          "$ref" : "#/components/schemas/ProjectMergePackageEditDto"
        } ]
      },
      "ObjectMigrationPackageEditDto" : {
        "required" : [ "name", "tocView", "treeView", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationTocViewCreateDto"
          }
        }
      },
      "ProjectMergePackageEditDto" : {
        "required" : [ "name", "tocView", "treeView", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ProjectMergeTocViewCreateDto"
          }
        }
      },
      "MigrationTransformDto" : {
        "required" : [ "migrations", "name", "treeView" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Migration group package name"
          },
          "migrations" : {
            "type" : "array",
            "description" : "Migrations belong to this group",
            "items" : {
              "$ref" : "#/components/schemas/MigrationGroupCreateSingleDto"
            }
          },
          "treeView" : {
            "type" : "object",
            "description" : "The tree view structure of a migration package provides a readable representation of the package’s objects for display in the Workstation Migration Package Editor. When creating a package via the REST API, this field could contain an empty object (`{}`).\n\nImportant: If you create a package using the REST API, do not edit or recreate it using the Workstation Migration Package Editor. Doing so may cause the tree view structure to become inconsistent with the actual package contents.\n"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          }
        }
      },
      "MigrationImportUpdateDto" : {
        "required" : [ "environment", "id", "importRequestStatus", "status", "undoRequestStatus" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "status" : {
            "type" : "string",
            "description" : "pending: The import process is just created.\n\nimporting: The import is processing. We need to wait it to be imported.\n\nimported: The import process is finished.\n\nimport_failed: The import process failed. This status occurs with a 40x or 50x HTTP code.\n\nundoing: The request to undo the import is approved and it is undoing.\n\nundo_success: The undoing is finished successfully.\n\nundo_failed: The undoing failed. This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "pending", "importing", "imported", "import_failed", "undoing", "undo_success", "undo_failed" ]
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationPackageUpdateDtoBase" : {
        "required" : [ "creationDate", "creator", "environment", "id", "lastUpdatedDate", "name", "progress", "replicated", "status", "storage", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration import.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "progress" : {
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Migration progress, 0-100",
            "format" : "double"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          }
        },
        "description" : "package information of migration",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/ObjectMigrationPackageUpdateDto"
        }, {
          "$ref" : "#/components/schemas/ProjectMergePackageUpdateDto"
        } ]
      },
      "MigrationUpdateDto" : {
        "required" : [ "id", "importInfo", "packageInfo" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackageUpdateDtoBase"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportUpdateDto"
          },
          "validation" : {
            "$ref" : "#/components/schemas/MigrationValidationUpdateDto"
          },
          "version" : {
            "type" : "string",
            "description" : "Api version"
          }
        }
      },
      "MigrationValidationUpdateDto" : {
        "required" : [ "creationDate", "lastUpdatedDate", "progress", "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "validating: The validation is processing. We need to wait for it to be finished.\n\nvalidated: The validation is successful.\n\nvalidate_failed: The validation failed.",
            "enum" : [ "validating", "validated", "validation_failed" ]
          },
          "progress" : {
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Validation progress.",
            "format" : "double"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this validation failed."
          },
          "creationDate" : {
            "type" : "string",
            "description" : "validation creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "validation last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          }
        },
        "description" : "validation information of migration"
      },
      "ObjectMigrationPackageUpdateDto" : {
        "required" : [ "creationDate", "creator", "environment", "id", "lastUpdatedDate", "name", "progress", "replicated", "status", "storage", "tocView", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration import.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "progress" : {
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Migration progress, 0-100",
            "format" : "double"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ObjectMigrationPackageTocViewDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "Tree view of this package"
          }
        }
      },
      "ProjectMergePackageUpdateDto" : {
        "required" : [ "creationDate", "creator", "environment", "id", "lastUpdatedDate", "name", "progress", "replicated", "status", "storage", "tocView", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "replicated" : {
            "type" : "boolean",
            "description" : "False means the original package"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Package name"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Package creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "Package last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\ncreated: The package is ready to be migrated.\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this package failed."
          },
          "warnings" : {
            "type" : "array",
            "description" : "Record warning message of the partial success package for Migration import.",
            "items" : {
              "$ref" : "#/components/schemas/PackageWarning"
            }
          },
          "progress" : {
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Migration progress, 0-100",
            "format" : "double"
          },
          "certification" : {
            "$ref" : "#/components/schemas/PackageCertificationPatchDto"
          },
          "tocView" : {
            "$ref" : "#/components/schemas/ProjectMergePackageTocViewDto"
          },
          "treeView" : {
            "type" : "object",
            "description" : "Tree view of this package"
          }
        }
      },
      "MigrationImportPatchDto" : {
        "type" : "object",
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/EnvironmentPatchDto"
          },
          "importRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to trigger. Once rejected, it can be requested again.\n\nrejected: The request to trigger the import is rejected.\n\napproved: The request to trigger the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "undoRequestStatus" : {
            "type" : "string",
            "description" : "pending: The process is just created.\n\nrequested: The import is requested to undo. Once rejected, it can be requested again.\n\nrejected: The request to undo the import is rejected.\n\napproved: The request to undo the import is approved.",
            "enum" : [ "unknown", "pending", "requested", "rejected", "approved" ]
          },
          "project" : {
            "$ref" : "#/components/schemas/ProjectPatchDto"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationPackagePatchDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Package name"
          }
        },
        "description" : "package information of migration"
      },
      "MigrationPatchDto" : {
        "type" : "object",
        "properties" : {
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackagePatchDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportPatchDto"
          },
          "validation" : {
            "$ref" : "#/components/schemas/MigrationValidationPatchDto"
          }
        }
      },
      "MigrationValidationPatchDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "validating: The validation is processing. We need to wait for it to be finished.",
            "enum" : [ "validating", "validated", "validation_failed" ]
          }
        },
        "description" : "a flag to trigger updating validation status"
      },
      "MigrationImportValidateDto" : {
        "required" : [ "environment", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Import id"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "import information of migration"
      },
      "MigrationPackageValidateDto" : {
        "required" : [ "environment", "id", "status", "storage", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package id"
          },
          "type" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "purpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "storage" : {
            "$ref" : "#/components/schemas/PackageStorageDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: Need to be initialized with objects or package file.\n\ncreating: The package is being initialized with objects or package file. We need to wait it to be created.\n\ncreated: The package is ready to be migrated.\n\ncreate_failed: The package failed to be created. This status occurs with a 40x or 50x HTTP code.\n\nlocked: The package is locked and cannot be modified.",
            "enum" : [ "unknown", "empty", "creating", "create_failed", "created", "locked" ]
          }
        },
        "description" : "package information of migration"
      },
      "MigrationValidateRequestDto" : {
        "required" : [ "id", "importInfo", "packageInfo" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Migration id"
          },
          "packageInfo" : {
            "$ref" : "#/components/schemas/MigrationPackageValidateDto"
          },
          "importInfo" : {
            "$ref" : "#/components/schemas/MigrationImportValidateDto"
          }
        }
      },
      "LogEntry" : {
        "type" : "object",
        "properties" : {
          "level" : {
            "type" : "string",
            "description" : "The logging level",
            "enum" : [ "ERROR", "WARN", "INFO", "DEBUG", "TRACE" ]
          },
          "tier" : {
            "type" : "string",
            "description" : "The tier name"
          },
          "stackTrace" : {
            "type" : "string",
            "description" : "The stack trace"
          },
          "message" : {
            "type" : "string",
            "description" : "The message"
          },
          "ticketId" : {
            "type" : "string",
            "description" : "The ticket ID"
          }
        },
        "description" : "Information for a single log entry."
      },
      "TicketInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Log ticket Id. Used to track a log"
          }
        }
      },
      "RestServerInfo" : {
        "type" : "object",
        "properties" : {
          "upSince" : {
            "type" : "integer",
            "description" : "Unix time of server start.",
            "format" : "int64",
            "example" : 1533825026792
          },
          "upTime" : {
            "type" : "integer",
            "description" : "Unix period of time while server is running.",
            "format" : "int64",
            "example" : 31415
          },
          "upTimeText" : {
            "type" : "string",
            "description" : "Textual representation of period of time while server is running.",
            "example" : "00 Hours 00 Minutes 59 seconds"
          },
          "webVersion" : {
            "type" : "string",
            "description" : "Web version.",
            "example" : "11.0.0000.0000J"
          },
          "baseUri" : {
            "type" : "string",
            "description" : "Base URI for server requests. Deprecated due to security concerns."
          },
          "isIServerConfigured" : {
            "type" : "boolean",
            "description" : "Intelligence Server Configuration Status"
          },
          "iServerVersion" : {
            "type" : "string",
            "description" : "Intelligence Server Version",
            "example" : "11.0.0000.0095"
          },
          "minMobileCompatibleVersion" : {
            "type" : "string",
            "description" : "Min Mobile Compatible Version",
            "example" : "11.1.0200.0000"
          },
          "deploymentType" : {
            "type" : "string",
            "description" : "Deployment type",
            "example" : "mci",
            "enum" : [ "msi-trial", "mci", "on_prem", "mce", "mcp", "mcg", "saas-trial", "customer-managed-cloud", "unknown" ]
          },
          "mciType" : {
            "type" : "string",
            "description" : "MCI type",
            "example" : "intel_now",
            "enum" : [ "hyper_now", "intel_now", "unknown" ]
          },
          "customerType" : {
            "type" : "string",
            "description" : "Customer type",
            "example" : "strategy-go",
            "enum" : [ "strategy-go", "normal", "unknown" ]
          },
          "chatServiceStatus" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "ingestionServiceStatus" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "iServerAIHealthStatus" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "Information about running Server."
      },
      "MetadataConnectionInfo" : {
        "type" : "object",
        "properties" : {
          "host" : {
            "type" : "string",
            "description" : "Server hostname"
          },
          "port" : {
            "type" : "integer",
            "description" : "Server port",
            "format" : "int32"
          },
          "connectionString" : {
            "type" : "string",
            "description" : "Server IP address"
          }
        }
      },
      "StaticAssetFile" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "File path"
          },
          "size" : {
            "type" : "integer",
            "description" : "File size (in bytes)",
            "format" : "int64"
          },
          "lmt" : {
            "type" : "integer",
            "description" : "File last modification time",
            "format" : "int64"
          }
        },
        "description" : "Static asset file."
      },
      "StaticAssets" : {
        "type" : "object",
        "properties" : {
          "files" : {
            "type" : "array",
            "description" : "Collection of static assets files",
            "items" : {
              "$ref" : "#/components/schemas/StaticAssetFile"
            }
          }
        },
        "description" : "Static assets (images, JavaScript, CSS, and other files) at server."
      },
      "MstrAppConfigParams" : {
        "required" : [ "cfg" ],
        "type" : "object",
        "properties" : {
          "cfg" : {
            "maxItems" : 500,
            "minItems" : 0,
            "type" : "array",
            "description" : "An array of config parameters",
            "items" : {
              "$ref" : "#/components/schemas/MstrAppConfigProp"
            }
          }
        }
      },
      "MstrAppConfigProp" : {
        "required" : [ "name", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "maxLength" : 250,
            "minLength" : 0,
            "type" : "string",
            "description" : "The type of the property"
          },
          "name" : {
            "maxLength" : 250,
            "minLength" : 0,
            "type" : "string",
            "description" : "The name of the property"
          },
          "alias" : {
            "maxLength" : 250,
            "minLength" : 0,
            "type" : "string",
            "description" : "An optional alias for the property to be used instead of the property name"
          },
          "value" : {
            "maxItems" : 1000,
            "minItems" : 0,
            "type" : "array",
            "description" : "Values associated with the property",
            "items" : {
              "maxLength" : 250,
              "minLength" : 0,
              "type" : "string"
            }
          }
        }
      },
      "IServerNodeAddResult" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Service status of the added node",
            "enum" : [ "running", "stopped", "unknown" ]
          }
        },
        "description" : "Result of Adding Intelligence Server cluster node"
      },
      "JobCancellationStatus" : {
        "type" : "object",
        "properties" : {
          "jobCancellationStatus" : {
            "type" : "array",
            "description" : "List of job cancellation status",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "JobIdList" : {
        "type" : "object",
        "properties" : {
          "jobIds" : {
            "type" : "array",
            "description" : "Collection of active IDs for jobs",
            "example" : [ "64:ZW52LTI1MTk0NWxhaW8xdXNlMQ==", "490:ZW52LTI1MTY3OGxhaW91c2Uy" ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "BulkDeleteUserConnections" : {
        "type" : "object",
        "properties" : {
          "deleteUserConnectionsStatus" : {
            "type" : "array",
            "description" : "List of user connection deletion status",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "UserConnectionList" : {
        "type" : "object",
        "properties" : {
          "userConnectionIds" : {
            "type" : "array",
            "description" : "Collection of user connections",
            "example" : [ "2ED5FD647A57799B7ED14E49AD80C397:-1:TWFjQm9vay1Qcm8ubG9jYWw=", "BEC9082DFD4449AC282ED8D37F4C8498:0:10.2.8.23" ],
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "IServerNode" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Canonical name of the node"
          },
          "port" : {
            "type" : "integer",
            "description" : "Port number of the node",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "description" : "Service status of the node",
            "enum" : [ "running", "stopped", "unknown" ]
          },
          "load" : {
            "type" : "integer",
            "description" : "Current load on the node",
            "format" : "int32"
          },
          "ipAddress" : {
            "type" : "string",
            "description" : "Node IP address"
          },
          "projects" : {
            "type" : "array",
            "description" : "Information about project instances on the node",
            "items" : {
              "$ref" : "#/components/schemas/ProjectInstance"
            }
          },
          "default" : {
            "type" : "boolean",
            "description" : "Whether this is the node that REST Server connects to at startup to discover Intelligence Server cluster information"
          }
        },
        "description" : "Intelligence Server cluster node information"
      },
      "IServerNodes" : {
        "type" : "object",
        "properties" : {
          "nodes" : {
            "type" : "array",
            "description" : "Nodes in Intelligence Server cluster",
            "items" : {
              "$ref" : "#/components/schemas/IServerNode"
            }
          }
        }
      },
      "ProjectInstance" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of a project instance on an Intelligence server node.",
            "enum" : [ "unloaded", "loaded", "exec_idle", "request_idle", "full_idle", "wh_exec_idle", "partial_idle", "unloaded_pending", "loaded_pending", "pending", "unknown" ]
          }
        },
        "description" : "Instance of a project on a specific Intelligence Server cluster node"
      },
      "JobInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Job information id."
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the job."
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the job.",
            "enum" : [ "ready", "executing", "waiting", "completed", "error", "canceling", "stopped", "waiting_on_governor", "waiting_for_autoprompt", "waiting_for_project", "waiting_for_cache", "waiting_for_children", "waiting_for_results", "loading_prompt", "resolving_destination", "delivering", "exporting", "cache_ready", "waiting_for_di_file", "waiting_for_conflict_resolve", "step_pausing" ]
          },
          "jobType" : {
            "type" : "string",
            "description" : "Type of the job.",
            "enum" : [ "interactive", "subscription", "predictive_cache", "realtime" ]
          },
          "duration" : {
            "type" : "integer",
            "description" : "Duration of job in seconds.",
            "format" : "int32"
          },
          "jobId" : {
            "type" : "integer",
            "description" : "ID of the job.",
            "format" : "int32"
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID."
          },
          "priority" : {
            "type" : "string",
            "description" : "Priority of the job.",
            "enum" : [ "high", "medium", "low", "unassigned" ]
          },
          "processingUnitPriority" : {
            "type" : "string",
            "description" : "Job Processing Unit Priority.",
            "enum" : [ "high", "medium", "low", "unassigned" ]
          },
          "warehousePriority" : {
            "type" : "string",
            "description" : "Warehouse Priority.",
            "enum" : [ "high", "medium", "low", "unassigned" ]
          },
          "userFullName" : {
            "type" : "string",
            "description" : "Full name of the job initiator."
          },
          "username" : {
            "type" : "string",
            "description" : "Login name of the job initiator."
          },
          "projectName" : {
            "type" : "string",
            "description" : "Name of the project in which the job is active."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Id of the project in which the job is active."
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time of the job.",
            "format" : "date-time"
          },
          "machine" : {
            "type" : "string",
            "description" : "Client machine running the job."
          },
          "totalTask" : {
            "type" : "integer",
            "description" : "Total tasks of the job.",
            "format" : "int32"
          },
          "completedTask" : {
            "type" : "integer",
            "description" : "Completed tasks of the job.",
            "format" : "int32"
          },
          "filter" : {
            "type" : "string",
            "description" : "Name of the filter for the job."
          },
          "template" : {
            "type" : "string",
            "description" : "Name of the template for the job."
          },
          "sql" : {
            "type" : "string",
            "description" : "SQL of the job."
          },
          "subscriptionOwner" : {
            "type" : "string",
            "description" : "Subscription owner of the job."
          },
          "subscriptionRecipient" : {
            "type" : "string",
            "description" : "Subscription recipient of the job."
          },
          "deliveryType" : {
            "type" : "string",
            "description" : "Subscription delivery type of the job.",
            "enum" : [ "reserved", "email", "file", "printer", "custom", "inbox", "client", "cache", "mobile", "blackberry", "iphone", "ipad", "campaign", "snapshot", "ftp", "android", "kpi", "onedrive", "sharepoint", "s3", "googledrive", "last_one", "count", "all", "all_including_snapshot" ]
          },
          "destination" : {
            "type" : "string",
            "description" : "Subscription destination of the job."
          }
        },
        "description" : "List of jobs"
      },
      "JobInfos" : {
        "type" : "object",
        "properties" : {
          "jobs" : {
            "type" : "array",
            "description" : "List of jobs",
            "items" : {
              "$ref" : "#/components/schemas/JobInfo"
            }
          }
        }
      },
      "DataBaseConnectionInstance" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Database connection status",
            "enum" : [ "busy", "cached" ]
          },
          "databaseInstanceName" : {
            "type" : "string",
            "description" : "Database connection instance name"
          },
          "databaseInstanceId" : {
            "type" : "string",
            "description" : "Database connection instance ID"
          },
          "userName" : {
            "type" : "string",
            "description" : "The user name for the DB connection instance"
          },
          "databaseLoginName" : {
            "type" : "string",
            "description" : "Database login name"
          },
          "clusterNode" : {
            "type" : "string",
            "description" : "The server which return the database connection information"
          },
          "id" : {
            "type" : "string",
            "description" : "Database connection instance id"
          },
          "name" : {
            "type" : "string",
            "description" : "Database connection instance name"
          },
          "type" : {
            "type" : "string",
            "description" : "Connection type",
            "enum" : [ "database", "metadata" ]
          },
          "tenantId" : {
            "type" : "string",
            "description" : "The tenant ID for the DB connection instance"
          }
        }
      },
      "DataBaseConnectionInstances" : {
        "type" : "object",
        "properties" : {
          "dbConnectionInstances" : {
            "type" : "array",
            "description" : "Database connection instance information",
            "items" : {
              "$ref" : "#/components/schemas/DataBaseConnectionInstance"
            }
          }
        }
      },
      "ProjectStatus" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status of a project instance on an Intelligence server node.",
            "enum" : [ "unloaded", "loaded", "exec_idle", "request_idle", "full_idle", "wh_exec_idle", "partial_idle", "unloaded_pending", "loaded_pending", "pending", "unknown" ]
          }
        }
      },
      "ClusterNodeProjectDto" : {
        "type" : "object",
        "properties" : {
          "serverName" : {
            "type" : "string",
            "description" : "Cluster node name"
          },
          "serverPort" : {
            "type" : "integer",
            "description" : "Cluster node port",
            "format" : "int32"
          },
          "projectStatus" : {
            "type" : "string",
            "description" : "Status of a project instance on an Intelligence server node.",
            "enum" : [ "unloaded", "loaded", "exec_idle", "request_idle", "full_idle", "wh_exec_idle", "partial_idle", "unloaded_pending", "loaded_pending", "pending", "unknown" ]
          }
        },
        "description" : "Project info on each cluster node"
      },
      "ClusterProjectDto" : {
        "type" : "object",
        "properties" : {
          "nodes" : {
            "type" : "array",
            "description" : "Project info on each cluster node",
            "items" : {
              "$ref" : "#/components/schemas/ClusterNodeProjectDto"
            }
          }
        }
      },
      "ProjectDetails" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Project description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          }
        }
      },
      "UserConnectionDetail" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User connection id"
          },
          "parentId" : {
            "type" : "string",
            "description" : "User connection parent id which is for project level connection and its parent is an config level connection"
          },
          "username" : {
            "type" : "string",
            "description" : "User name of the owner of the connection"
          },
          "userFullName" : {
            "type" : "string",
            "description" : "User full name of the owner of the connection"
          },
          "projectIndex" : {
            "type" : "integer",
            "description" : "Project index",
            "format" : "int32"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Project name which the connection is connected to"
          },
          "openJobsCount" : {
            "type" : "integer",
            "description" : "Number of open jobs on the session",
            "format" : "int32"
          },
          "applicationType" : {
            "type" : "string",
            "description" : "Application Type. Possible values can be refer to [EnumDSSXMLApplicationType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLApplicationType.html)"
          },
          "dateConnectionCreated" : {
            "type" : "string",
            "description" : "Connection time"
          },
          "dateFirstJobSubmitted" : {
            "type" : "string",
            "description" : "The time the first job was submitted"
          },
          "dateLastJobSubmitted" : {
            "type" : "string",
            "description" : "The time the last job was submitted"
          },
          "lastAction" : {
            "type" : "string",
            "description" : "The time of the users last action with their session. This could be actions which do not create jobs, such as folder browsing."
          },
          "duration" : {
            "type" : "integer",
            "description" : "Duration of the connection, in seconds",
            "format" : "int32"
          },
          "sessionId" : {
            "type" : "string",
            "description" : "Session ID"
          },
          "client" : {
            "type" : "string",
            "description" : "Client machine IP or hostname"
          },
          "configLevel" : {
            "type" : "boolean",
            "description" : "Flag to identify an user connection is config level or project level"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant identifier for the user connection, if applicable"
          }
        }
      },
      "UserConnectionsInfos" : {
        "type" : "object",
        "properties" : {
          "totalUserConnections" : {
            "type" : "integer",
            "description" : "Total number of user connections for the aggregation item",
            "format" : "int32"
          },
          "totalUniqueUsersConnections" : {
            "type" : "integer",
            "description" : "In case of node aggregation it's number of unique user connections for the aggregation item, in case of other aggregations it is the number of unique aggregation items",
            "format" : "int32"
          },
          "totalFiltered" : {
            "type" : "integer",
            "description" : "Total number of user connections available for retrieval after applying filters",
            "format" : "int32"
          },
          "userConnections" : {
            "type" : "array",
            "description" : "Collection of user connections",
            "items" : {
              "$ref" : "#/components/schemas/UserConnectionDetail"
            }
          }
        }
      },
      "UserConnectionAggregationTotals" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "description" : "Total count of user connections for this aggregation item",
            "format" : "int32"
          },
          "totalUnique" : {
            "type" : "integer",
            "description" : "Total number of unique user connections for this aggregation item",
            "format" : "int32"
          },
          "projectName" : {
            "type" : "string",
            "description" : "Optional project name for this aggregation bucket (for project aggregations).",
            "nullable" : true
          }
        },
        "description" : "Map of application type totals, where the key is the application type (e.g., Workstation, Library, Web) and the value is the aggregation totals for that application type"
      },
      "UserConnectionNode" : {
        "type" : "object",
        "properties" : {
          "serverNode" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/UserConnectionAggregationTotals"
            },
            "description" : "Map of server node totals, where the key is the server node ID and the value is the aggregation totals for that node"
          },
          "project" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/UserConnectionAggregationTotals"
            },
            "description" : "Map of project totals, where the key is the project ID and the value is the aggregation totals for that project"
          },
          "applicationType" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/UserConnectionAggregationTotals"
            },
            "description" : "Map of application type totals, where the key is the application type (e.g., Workstation, Library, Web) and the value is the aggregation totals for that application type"
          }
        },
        "description" : "Aggregation item"
      },
      "UserConnectionsAggregatedUsages" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "description" : "Total number of user connections from all requested nodes",
            "format" : "int32"
          },
          "totalUnique" : {
            "type" : "integer",
            "description" : "Total number of unique user connections from all requested nodes",
            "format" : "int32"
          },
          "aggregatedUsages" : {
            "type" : "array",
            "description" : "Aggregation item",
            "items" : {
              "$ref" : "#/components/schemas/UserConnectionNode"
            }
          }
        }
      },
      "ProjectStatusUpdate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Project Name"
          },
          "id" : {
            "type" : "string",
            "description" : "Project Id"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of a project instance on an Intelligence server node.",
            "enum" : [ "unloaded", "loaded", "exec_idle", "request_idle", "full_idle", "wh_exec_idle", "partial_idle", "unloaded_pending", "loaded_pending", "pending", "unknown" ]
          }
        }
      },
      "PatchOperationsProjectPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectPatchOperation"
            }
          }
        }
      },
      "ProjectPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/status"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "loaded"
          }
        }
      },
      "MonitorProjectUpdateDto" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status of a project instance on an Intelligence server node.",
            "enum" : [ "unloaded", "loaded", "exec_idle", "request_idle", "full_idle", "wh_exec_idle", "partial_idle", "unloaded_pending", "loaded_pending", "pending", "unknown" ]
          }
        }
      },
      "MosaicSsoSettings" : {
        "required" : [ "keytabFileName", "krb5Realm", "mosaicHost", "upnDomains" ],
        "type" : "object",
        "properties" : {
          "krb5Realm" : {
            "type" : "string",
            "description" : "Kerberos realm (uppercase FQDN), e.g. CORP.MICROSTRATEGY.COM"
          },
          "domain" : {
            "type" : "string",
            "description" : "Optional domain value used by UI and persisted for round-trip. Not directly patched into config files."
          },
          "mosaicHost" : {
            "type" : "string",
            "description" : "Mosaic host used in SPN/keytab principal (HTTP/<host>), e.g. demo.microstrategy.com"
          },
          "mosaicHostAliases" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Optional Mosaic host aliases used by UI and persisted for round-trip. Not patched into config.properties."
            }
          },
          "mosaicSvc" : {
            "type" : "string",
            "description" : "Optional Mosaic service account value used by UI and persisted for round-trip. Not directly patched into config files."
          },
          "keytabFileName" : {
            "type" : "string",
            "description" : "Keytab file name (without any path). Will be written into config.properties as etc/<fileName>, e.g. mci-jpd9h-dev-http.keytab"
          },
          "upnDomains" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Add all UPN domains (one per line in UI). First entry is used as email suffix in user-mapping.json."
            }
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the configuration. 'IN_PROGRESS' = fetch settings from sidecar file only. 'COMMITTED' = fetch from main config files only.",
            "enum" : [ "IN_PROGRESS", "COMMITTED" ]
          }
        }
      },
      "IServerTrustRelationshipRequest" : {
        "required" : [ "webServerPath" ],
        "type" : "object",
        "properties" : {
          "webServerPath" : {
            "type" : "string",
            "description" : "Web Server path URL or a unique string to identify this Web Server"
          }
        }
      },
      "CookiePropertiesResponse" : {
        "type" : "object",
        "properties" : {
          "sameSite" : {
            "type" : "string",
            "description" : "SameSite attribute of cookie",
            "enum" : [ "none", "unset", "lax", "strict" ]
          },
          "httpOnly" : {
            "type" : "boolean",
            "description" : "HttpOnly attribute of cookie"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "Secure attribute of cookie"
          },
          "partitioned" : {
            "type" : "boolean",
            "description" : "Partitioned attribute of cookie"
          }
        }
      },
      "IServerTrustRelationshipResponse" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether trust relationship is set up between Web Server and Intelligence Server"
          }
        }
      },
      "McpSettingsResponse" : {
        "type" : "object",
        "properties" : {
          "clientId" : {
            "type" : "string",
            "description" : "The client ID of the MCP OAuth2 client",
            "example" : "mcp-client-id"
          },
          "clientSecretMasked" : {
            "type" : "string",
            "description" : "The client secret masked for security reasons",
            "example" : "abc********"
          },
          "refreshTokenLifetime" : {
            "type" : "integer",
            "description" : "The lifetime of the refresh token in minutes",
            "format" : "int32",
            "example" : 60
          },
          "additionalRedirectUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Additional redirect URIs for the MCP OAuth2 client",
              "example" : "https://example.com/callback"
            }
          },
          "additionalScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Additional scopes for the MCP OAuth2 client",
              "example" : "read"
            }
          }
        }
      },
      "MosaicSettings" : {
        "type" : "object",
        "properties" : {
          "tokenLifetime" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "The lifetime of the refresh token in minutes",
            "format" : "int32",
            "example" : 60
          },
          "additionalRedirectUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Additional redirect URIs for the Mosaic OAuth2 client",
              "example" : "https://example.com/callback"
            }
          }
        }
      },
      "AiServerProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable AI service. If not set, default value is true."
          },
          "tlsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable TLS secure communication. Enabling TLS requires configuring trust store settings on the REST Server"
          },
          "botVersion" : {
            "type" : "string",
            "description" : "Bot version"
          },
          "baseURL" : {
            "type" : "string",
            "description" : "Base URL for AI Server"
          }
        }
      },
      "AuthProperties" : {
        "required" : [ "availableModes", "defaultMode" ],
        "type" : "object",
        "properties" : {
          "availableModes" : {
            "type" : "array",
            "description" : "Authentication modes available when connecting to an Intelligence Server",
            "items" : {
              "type" : "integer",
              "description" : "Authentication modes available when connecting to an Intelligence Server",
              "format" : "int64"
            }
          },
          "defaultMode" : {
            "type" : "integer",
            "description" : "Default authentication mode",
            "format" : "int32"
          },
          "saml" : {
            "$ref" : "#/components/schemas/SamlProperties"
          },
          "kerberos" : {
            "$ref" : "#/components/schemas/KerberosProperties"
          },
          "trustedProvider" : {
            "type" : "integer",
            "format" : "int32",
            "writeOnly" : true
          },
          "trusted" : {
            "$ref" : "#/components/schemas/TrustedProperties"
          },
          "inactiveModes" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Authentication modes that are currently inactive, this means that they may require additional configuration or the server has not been restarted after they were enabled",
            "readOnly" : true,
            "items" : {
              "type" : "integer",
              "description" : "Authentication modes that are currently inactive, this means that they may require additional configuration or the server has not been restarted after they were enabled",
              "format" : "int32",
              "readOnly" : true
            }
          }
        }
      },
      "CollaborationProperties" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration service."
          },
          "commentsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration comments service."
          },
          "discussionsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration discussions service."
          },
          "tlsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable TLS secure communication. Enabling TLS requires configuring trust store settings on the REST Server"
          },
          "baseURL" : {
            "type" : "string",
            "description" : "Base URL for Collaboration Server"
          }
        }
      },
      "IServerProperties" : {
        "type" : "object",
        "properties" : {
          "initialPoolSize" : {
            "type" : "integer",
            "description" : "Initial number of connections available",
            "format" : "int32"
          },
          "maxPoolSize" : {
            "type" : "integer",
            "description" : "Maximum number of connections available",
            "format" : "int32"
          },
          "requestTimeOut" : {
            "type" : "integer",
            "description" : "Socket connection timeout in milliseconds for Intelligence Server request",
            "format" : "int64"
          },
          "sessionWorkingSet" : {
            "type" : "integer",
            "description" : "Number of recent reports/documents that can be kept in memory for manipulation",
            "format" : "int32"
          },
          "sessionSearchWorkingSet" : {
            "type" : "integer",
            "description" : "Maximum number of concurrent searches that stay in memory",
            "format" : "int32"
          },
          "defaultPort" : {
            "type" : "integer",
            "description" : "Default Intelligence Server port",
            "format" : "int32"
          },
          "tlsEnabled" : {
            "type" : "boolean",
            "description" : "{true | false} Specifies whether communication between the Web Server and Intelligence Server uses TLS. If true, the trustStore.path file must be populated with the public certificate for the Intelligence Server."
          },
          "defaultPollingTimeout" : {
            "type" : "integer",
            "description" : "Library Server polling timeout when request prefer header has respond-async. In such case, client can continue to poll",
            "format" : "int32"
          },
          "defaultPollingFrequency" : {
            "type" : "integer",
            "description" : "Library Server polling frequency.",
            "format" : "int32"
          },
          "defaultHostname" : {
            "type" : "string",
            "description" : "Default Intelligence Server hostname. By default, this server will be used to create a session when server information is not provided in the request."
          }
        }
      },
      "KerberosProperties" : {
        "type" : "object",
        "properties" : {
          "config" : {
            "type" : "string",
            "description" : "Kerberos config file"
          },
          "keytab" : {
            "type" : "string",
            "description" : "Kerberos keytab file"
          },
          "principal" : {
            "type" : "string",
            "description" : "Kerberos principal"
          }
        },
        "description" : "Kerberos configuration properties"
      },
      "LoggingInfo" : {
        "type" : "object",
        "properties" : {
          "absolutePath" : {
            "type" : "string",
            "description" : "Info on logging absolute path"
          },
          "writable" : {
            "type" : "boolean",
            "description" : "Specifies whether the log file is writable"
          },
          "level" : {
            "type" : "string",
            "description" : "Info on logging level configured"
          }
        },
        "description" : "Logging configuration info"
      },
      "MicroStrategyWebProperties" : {
        "type" : "object",
        "properties" : {
          "baseURL" : {
            "type" : "string",
            "description" : "Base URL for MicroStrategy Web"
          }
        }
      },
      "ModelServicesProperties" : {
        "type" : "object",
        "properties" : {
          "tlsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable model services TLS."
          },
          "baseUrls" : {
            "type" : "array",
            "description" : "Base URLs for model services",
            "items" : {
              "type" : "string",
              "description" : "Base URLs for model services"
            }
          }
        }
      },
      "PluginSettingsProperties" : {
        "type" : "object",
        "properties" : {
          "loadDynamically" : {
            "type" : "boolean",
            "description" : "Specifies whether to load plugin resources dynamically."
          }
        }
      },
      "RecommendationProperties" : {
        "type" : "object"
      },
      "RestServerProperties" : {
        "type" : "object",
        "properties" : {
          "auth" : {
            "$ref" : "#/components/schemas/AuthProperties"
          },
          "collaboration" : {
            "$ref" : "#/components/schemas/CollaborationProperties"
          },
          "microStrategyWeb" : {
            "$ref" : "#/components/schemas/MicroStrategyWebProperties"
          },
          "logging" : {
            "type" : "array",
            "description" : "Logging configuration info",
            "items" : {
              "$ref" : "#/components/schemas/LoggingInfo"
            }
          },
          "globalSearch" : {
            "$ref" : "#/components/schemas/GlobalSearchProperties"
          },
          "pluginSettings" : {
            "$ref" : "#/components/schemas/PluginSettingsProperties"
          },
          "relatedContent" : {
            "$ref" : "#/components/schemas/RecommendationProperties"
          },
          "modelService" : {
            "$ref" : "#/components/schemas/ModelServicesProperties"
          },
          "aiServer" : {
            "$ref" : "#/components/schemas/AiServerProperties"
          },
          "iServer" : {
            "$ref" : "#/components/schemas/IServerProperties"
          }
        }
      },
      "TelemetryProducerProperties" : {
        "type" : "object",
        "properties" : {
          "kafkaProperties.bootstrap.servers" : {
            "type" : "string",
            "description" : "A list of host/port pairs to use for establishing the initial connection to the Kafka cluster."
          },
          "kafkaProperties.security.protocol" : {
            "type" : "string",
            "description" : "Protocol used to communicate with brokers."
          },
          "iserver.bootstrap.servers" : {
            "type" : "string",
            "description" : "A list of host/port pairs to use for establishing the initial connection to the Kafka cluster that stores in IServer."
          }
        }
      },
      "KafkaConnectionStatus" : {
        "type" : "object",
        "properties" : {
          "clusteredNodes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/KafkaSerializableNode"
            }
          },
          "exceptions" : {
            "type" : "string"
          },
          "clusterId" : {
            "type" : "string"
          },
          "isConnectable" : {
            "type" : "boolean"
          },
          "isClustered" : {
            "type" : "boolean"
          }
        }
      },
      "KafkaConnectionStatuses" : {
        "type" : "object",
        "properties" : {
          "kafkaConnectionStatusMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/KafkaConnectionStatus"
            }
          }
        }
      },
      "KafkaSerializableNode" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "format" : "int32"
          },
          "host" : {
            "type" : "string"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32"
          },
          "rack" : {
            "type" : "string"
          }
        }
      },
      "TelemetryLogList" : {
        "type" : "object",
        "properties" : {
          "clientSource" : {
            "type" : "integer",
            "format" : "int32"
          },
          "telemetryLogsByTopics" : {
            "type" : "array",
            "description" : "Collection of TelemetryLogs",
            "items" : {
              "$ref" : "#/components/schemas/TelemetryLogsByTopic"
            }
          }
        }
      },
      "TelemetryLogsByTopic" : {
        "type" : "object",
        "properties" : {
          "topicHash" : {
            "type" : "integer",
            "format" : "int32"
          },
          "messages" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            }
          }
        }
      },
      "ClientTelemetrySwitch" : {
        "type" : "object",
        "properties" : {
          "enableClientTelemetryForAll" : {
            "type" : "integer",
            "description" : "This field determines whether to enable/disable client telemetry for all project.0 is the default which denotes disabling client telemetry and 1 denotes enabling client telemetry",
            "format" : "int32"
          }
        }
      },
      "CollaborationPropertiesBasic" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration service."
          },
          "commentsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration comments service."
          },
          "discussionsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable collaboration discussions service."
          }
        }
      },
      "CookieProperties" : {
        "type" : "object",
        "properties" : {
          "sameSite" : {
            "type" : "string",
            "description" : "SameSite attribute of cookie",
            "enum" : [ "none", "unset", "lax", "strict" ]
          },
          "httpOnly" : {
            "type" : "boolean",
            "description" : "HttpOnly attribute of cookie"
          },
          "secure" : {
            "type" : "boolean",
            "description" : "Secure attribute of cookie"
          },
          "partitioned" : {
            "type" : "boolean",
            "description" : "Partitioned attribute of cookie"
          }
        }
      },
      "IServerPropertiesBasic" : {
        "type" : "object",
        "properties" : {
          "initialPoolSize" : {
            "type" : "integer",
            "description" : "Initial number of connections available",
            "format" : "int32"
          },
          "maxPoolSize" : {
            "type" : "integer",
            "description" : "Maximum number of connections available",
            "format" : "int32"
          },
          "requestTimeOut" : {
            "type" : "integer",
            "description" : "Socket connection timeout in milliseconds for Intelligence Server request",
            "format" : "int64"
          },
          "sessionWorkingSet" : {
            "type" : "integer",
            "description" : "Number of recent reports/documents that can be kept in memory for manipulation",
            "format" : "int32"
          },
          "sessionSearchWorkingSet" : {
            "type" : "integer",
            "description" : "Maximum number of concurrent searches that stay in memory",
            "format" : "int32"
          }
        }
      },
      "McpSettingsRequest" : {
        "type" : "object",
        "properties" : {
          "clientSecret" : {
            "maxLength" : 2147483647,
            "minLength" : 32,
            "type" : "string",
            "description" : "The client secret for the MCP OAuth2 client"
          },
          "refreshTokenLifetime" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "The lifetime of the refresh token in minutes",
            "format" : "int32",
            "example" : 60
          },
          "additionalRedirectUris" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Additional redirect URIs for the MCP OAuth2 client",
              "example" : "https://example.com/callback"
            }
          },
          "additionalScopes" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "Additional scopes for the MCP OAuth2 client",
              "example" : "read"
            }
          }
        }
      },
      "SecurityProperties" : {
        "type" : "object",
        "properties" : {
          "secretKey" : {
            "type" : "array",
            "description" : "Secret key used for generating identity token",
            "items" : {
              "type" : "string",
              "description" : "Secret key used for generating identity token"
            }
          },
          "allowAllOrigins" : {
            "type" : "boolean",
            "description" : "If set to true, the REST Server gives permission to access resources from a server at a different origin.  This would allow the embedded dossier to work from any page (whatever the parent domain is)."
          },
          "allowedOrigins" : {
            "type" : "array",
            "description" : "The REST Server gives permission to access resources from a server at one of these authorized origins. This would allow the embedded dossier to work from any page that has its domain listed in these authorized origins.",
            "items" : {
              "type" : "string",
              "description" : "The REST Server gives permission to access resources from a server at one of these authorized origins. This would allow the embedded dossier to work from any page that has its domain listed in these authorized origins."
            }
          },
          "rememberMeEnabled" : {
            "type" : "boolean",
            "description" : "If set to true, the amount of time a user may remain logged in will be extended. It is governed by the Token Lifetime setting found in Server Definition/Security/Authentication Policy."
          },
          "disableUrlValidation" : {
            "type" : "boolean",
            "description" : "If set to true, the REST Server will not validate the origin of the request. This is not recommended for production environments."
          }
        }
      },
      "TenantMemberDTO" : {
        "type" : "object",
        "properties" : {
          "memberId" : {
            "type" : "string",
            "description" : "The unique identifier of the tenant member, represented as a GUID string.",
            "example" : "593B6AE633D646A884A65E9585A7287E"
          },
          "memberTypeValue" : {
            "type" : "integer",
            "description" : "The type value of the tenant member, represented as a Integer corresponding to an EnumObjectType.",
            "format" : "int32",
            "example" : 32
          }
        }
      },
      "TenantMembersDTO" : {
        "type" : "object",
        "properties" : {
          "members" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/TenantMemberDTO"
            }
          }
        }
      },
      "CreateTenantResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          }
        }
      },
      "ObjectNameDTO" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "tenantSuffix" : {
            "type" : "string"
          }
        }
      },
      "NotificationCreator" : {
        "required" : [ "deviceType", "objectId", "payload", "userIds" ],
        "type" : "object",
        "properties" : {
          "deviceType" : {
            "type" : "string",
            "description" : "Type of the device targeted",
            "enum" : [ "EnumMobileDeviceType{value=128}" ]
          },
          "userIds" : {
            "type" : "array",
            "description" : "IDs of the users that will receive the email",
            "items" : {
              "type" : "string",
              "description" : "IDs of the users that will receive the email"
            }
          },
          "objectId" : {
            "type" : "string",
            "description" : "For now, the push notifications are tied to an object (ex. Dossier) in the metadata . Later on, it may not be the case. So, this field is optional."
          },
          "payload" : {
            "$ref" : "#/components/schemas/NotificationPayload"
          },
          "background" : {
            "type" : "boolean",
            "description" : "Indicates to send a background notification"
          }
        }
      },
      "NotificationElement" : {
        "type" : "object",
        "properties" : {
          "title" : {
            "type" : "string",
            "description" : "Title of the notification"
          },
          "body" : {
            "type" : "string",
            "description" : "Body of the notification"
          },
          "icon" : {
            "type" : "string",
            "description" : "Icon of the notification"
          },
          "extraProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Extra notification properties"
            },
            "description" : "Extra notification properties"
          }
        },
        "description" : "Define the notification element itself"
      },
      "NotificationPayload" : {
        "type" : "object",
        "properties" : {
          "notification" : {
            "$ref" : "#/components/schemas/NotificationElement"
          },
          "data" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Define a set of keys and values to be transmitted with the push notification. This data can be interpreted by the mobile device. "
            },
            "description" : "Define a set of keys and values to be transmitted with the push notification. This data can be interpreted by the mobile device. "
          },
          "priority" : {
            "type" : "string",
            "description" : "Define the priority of the notification. Look at FCM documentation on notification payload to learn more"
          },
          "collapseKey" : {
            "type" : "string",
            "description" : "Define the collapse key for the notification. Look at FCM documentation on notification payload to learn more"
          },
          "timeToLive" : {
            "type" : "string",
            "description" : "Define the time to live of the notication Look at FCM documentation on notification payload to learn more"
          },
          "extraProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Define extra properties for the notification element (set of key-value)"
            },
            "description" : "Define extra properties for the notification element (set of key-value)"
          }
        },
        "description" : "Define Notification Payload"
      },
      "NuggetsQueryDto" : {
        "required" : [ "id", "projectId" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Nugget ID."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID."
          }
        },
        "description" : "Nugget Object Info."
      },
      "NuggetsStatusRequestDto" : {
        "required" : [ "nuggets" ],
        "type" : "object",
        "properties" : {
          "nuggets" : {
            "type" : "array",
            "description" : "Nugget Object Info.",
            "items" : {
              "$ref" : "#/components/schemas/NuggetsQueryDto"
            }
          }
        }
      },
      "Nuggets" : {
        "required" : [ "name", "objectAcl", "objectNames" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The object creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The object last updated time in UTC",
            "format" : "date-time"
          },
          "objectVersion" : {
            "type" : "string",
            "description" : "Object version ID"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner id"
          },
          "objectNames" : {
            "type" : "array",
            "description" : "Object names and descriptions with locale",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectNameAndDescriptionWithLocale"
            }
          },
          "hidden" : {
            "type" : "boolean"
          },
          "managed" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is managed"
          },
          "objectAcl" : {
            "type" : "array",
            "description" : "Object ACL which contains the access control entry",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectAccessControlEntry"
            }
          },
          "propertyGroups" : {
            "type" : "array",
            "description" : "Object property groups",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectPropertyGroup"
            }
          },
          "accessGranted" : {
            "type" : "integer",
            "description" : "Object access rights. It's a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "minver4write" : {
            "type" : "integer",
            "description" : "Specifies md min version for write",
            "format" : "int32"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant name"
          },
          "nuggetType" : {
            "type" : "integer",
            "format" : "int32"
          },
          "fileName" : {
            "type" : "string"
          },
          "fileLocation" : {
            "type" : "string"
          },
          "fileType" : {
            "type" : "string"
          },
          "fileSize" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nuggetsCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "partialErrorCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "errorMessage" : {
            "type" : "string"
          },
          "uploadTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "indexTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "certified" : {
            "type" : "boolean"
          },
          "fileId" : {
            "type" : "string"
          },
          "statusString" : {
            "type" : "string"
          }
        },
        "description" : "Nugget list"
      },
      "NuggetsList" : {
        "type" : "object",
        "properties" : {
          "nuggets" : {
            "type" : "array",
            "description" : "Nugget list",
            "items" : {
              "$ref" : "#/components/schemas/Nuggets"
            }
          }
        }
      },
      "OrphanRequest" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "ClientSecretResponse" : {
        "type" : "object",
        "properties" : {
          "clientId" : {
            "type" : "string"
          },
          "clientSecret" : {
            "type" : "string"
          }
        }
      },
      "ClientSecretRequest" : {
        "type" : "object",
        "properties" : {
          "clientId" : {
            "type" : "string",
            "description" : "The client ID for which the secret is requested.",
            "example" : "123e4567-e89b-12d3-a456-426614174000"
          }
        }
      },
      "OAuth2Client" : {
        "required" : [ "clientId", "clientType", "name", "redirectUris" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of the client",
            "example" : "0687d33e-a2d4-474b-aa29-e3386511c14d"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the client",
            "example" : "My Client"
          },
          "clientType" : {
            "type" : "string",
            "description" : "The type of the client",
            "example" : "WEB",
            "enum" : [ "WEB", "SPA", "NATIVE" ]
          },
          "clientId" : {
            "type" : "string",
            "description" : "The OAuth2 client ID",
            "example" : "123e4567-e89b-12d3-a456-426614174000"
          },
          "clientSecret" : {
            "type" : "string",
            "description" : "The OAuth2 client secret, only required when creating a new client",
            "writeOnly" : true,
            "example" : "my-secret"
          },
          "clientSecretMasked" : {
            "type" : "string",
            "description" : "The masked form of the client secret, showing the first 3 characters of the hashed value",
            "readOnly" : true,
            "example" : "abc*******************"
          },
          "redirectUris" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "The list of redirect URIs",
            "example" : [ "http://localhost:8080/callback" ],
            "items" : {
              "type" : "string",
              "description" : "The list of redirect URIs",
              "example" : "[\"http://localhost:8080/callback\"]"
            }
          },
          "refreshToken" : {
            "type" : "boolean",
            "description" : "Whether the refresh token is enabled",
            "example" : true
          },
          "reuseRefreshToken" : {
            "type" : "boolean",
            "description" : "Whether the same refresh token can be used multiple times",
            "example" : true
          },
          "refreshTokenLifetime" : {
            "type" : "integer",
            "description" : "The lifetime of the access token in minutes",
            "format" : "int32",
            "example" : 60
          },
          "scopes" : {
            "type" : "array",
            "description" : "The list of scopes that the client can request",
            "example" : [ "openid", "email", "profile", "custom:read" ],
            "items" : {
              "type" : "string",
              "description" : "The list of scopes that the client can request",
              "example" : "[\"openid\",\"email\",\"profile\",\"custom:read\"]"
            }
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time when the client was created",
            "format" : "date-time",
            "readOnly" : true,
            "example" : "2021-01-01T00:00:00Z"
          }
        },
        "description" : "The list of OAuth2 clients to update"
      },
      "OAuth2SettingsResponse" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the OAuth2 server feature is enabled"
          },
          "clients" : {
            "type" : "array",
            "description" : "The list of OAuth2 clients configured",
            "items" : {
              "$ref" : "#/components/schemas/OAuth2Client"
            }
          }
        }
      },
      "UpdateOAuth2SettingsRequest" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Indicates whether the OAuth2 settings are enabled or not",
            "example" : true
          },
          "clients" : {
            "type" : "array",
            "description" : "The list of OAuth2 clients to update",
            "items" : {
              "$ref" : "#/components/schemas/OAuth2Client"
            }
          }
        }
      },
      "DeleteObjects" : {
        "required" : [ "delete" ],
        "type" : "object",
        "properties" : {
          "delete" : {
            "type" : "array",
            "description" : "List of objects to be deleted",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectIdAndType"
            }
          }
        }
      },
      "LeanObjectIdAndType" : {
        "required" : [ "did", "pid", "tp" ],
        "type" : "object",
        "properties" : {
          "did" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "tp" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          },
          "pid" : {
            "type" : "string",
            "description" : "Project ID"
          }
        },
        "description" : "List of objects to be deleted"
      },
      "ChangeOwnershipStatusResponse" : {
        "type" : "object",
        "properties" : {
          "changeOwnershipStatus" : {
            "type" : "array",
            "description" : "List of ownership change status",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "ObjectOwnershipPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add or Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace", "add" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/name",
            "enum" : [ "/{objectType};{objectId}/owner/id", "/{objectType};{objectId}/owner/recursive", "/{objectType};{objectId}/acl/{aceIndex}" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "54F3D26011D2896560009A8E67019608"
          }
        }
      },
      "PatchOperationsObjectOwnershipPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectOwnershipPatchOperation"
            }
          }
        }
      },
      "ObjectCopyInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "folderId" : {
            "type" : "string",
            "description" : "ID of the destination folder"
          }
        }
      },
      "Folder" : {
        "type" : "object",
        "properties" : {
          "folderId" : {
            "type" : "string",
            "description" : "Folder ID"
          }
        }
      },
      "DeleteConfigurationObjectsStatusResponse" : {
        "type" : "object",
        "properties" : {
          "deleteConfigurationObjectsStatus" : {
            "type" : "array",
            "description" : "List of configuration objects deletion status",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "ConfigurationObjectForBulkDeletion" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          }
        }
      },
      "BulkObjectResponse" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Operation status"
          },
          "success" : {
            "type" : "array",
            "description" : "Information for objects where the operation was successful",
            "items" : {
              "$ref" : "#/components/schemas/ObjectInfo"
            }
          },
          "error" : {
            "type" : "array",
            "description" : "Error infomation for objects where the operation was not successful",
            "items" : {
              "$ref" : "#/components/schemas/ObjectErrorResponse"
            }
          }
        }
      },
      "ObjectErrorResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "code" : {
            "type" : "integer",
            "description" : "IServer error code",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "Error message"
          }
        },
        "description" : "Error infomation for objects where the operation was not successful"
      },
      "DeleteObject" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "integer",
            "description" : "Object type",
            "format" : "int32"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          }
        }
      },
      "CubeInfoList" : {
        "type" : "object",
        "properties" : {
          "cubes" : {
            "type" : "array",
            "writeOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/CubeInfos"
            }
          },
          "cubesInfos" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CubeInfos"
            }
          }
        }
      },
      "CubeInfos" : {
        "type" : "object",
        "properties" : {
          "cubeName" : {
            "type" : "string",
            "description" : "Cube Name"
          },
          "cubeId" : {
            "type" : "string",
            "description" : "Cube ID"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner ID"
          },
          "path" : {
            "type" : "string",
            "description" : "Cube Path"
          },
          "modificationTime" : {
            "type" : "string",
            "description" : "Last modified time"
          },
          "lastUpdateTime" : {
            "type" : "string",
            "description" : "Last update time--when the cube last executed or refreshed with data"
          },
          "serverMode" : {
            "type" : "integer",
            "description" : "Cube Type: 1--in-memory; 2--DDA",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "description" : "Cube Size",
            "format" : "int64"
          },
          "status" : {
            "type" : "integer",
            "description" : "Cube Status, bit vector of EnumDSSCubeState(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSCubeStates.html)",
            "format" : "int32",
            "readOnly" : true
          }
        }
      },
      "DetailedHtmlContent" : {
        "required" : [ "contentType" ],
        "type" : "object",
        "properties" : {
          "contentType" : {
            "type" : "string",
            "description" : "The content type of html.",
            "enum" : [ "html_container", "attribute", "metric", "custom_group", "unknown" ]
          },
          "id" : {
            "type" : "string",
            "description" : "The GUID of the object."
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the object"
          },
          "derived" : {
            "type" : "boolean",
            "description" : "Whether the object is a derived one or not."
          },
          "level" : {
            "type" : "string",
            "description" : "The level of the html content.",
            "enum" : [ "dataset" ]
          },
          "ancestors" : {
            "type" : "array",
            "description" : "The ancestor folders of the object.",
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "locations" : {
            "type" : "array",
            "description" : "The ancestor locations of the object in its container.",
            "items" : {
              "$ref" : "#/components/schemas/Location"
            }
          }
        },
        "description" : "The html contents in the object."
      },
      "Location" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the location."
          }
        },
        "description" : "The ancestor locations of the object in its container."
      },
      "ObjectContentInfo" : {
        "type" : "object",
        "properties" : {
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/SimpleCertifiedInfo"
          },
          "iconPath" : {
            "type" : "string",
            "description" : "The icon path of the object."
          },
          "owner" : {
            "$ref" : "#/components/schemas/ObjectIdAndName"
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "The view media flag of the object.",
            "format" : "int32"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The latest modified date of the object."
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The date of when the object created."
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Whether the object is hidden or not."
          },
          "allowHtmlExecution" : {
            "type" : "boolean",
            "description" : "Whether the html content in the object is allowed or not."
          },
          "ancestors" : {
            "type" : "array",
            "description" : "The list of the parent folders of the object.",
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "The GUID of the project where the object is."
          },
          "projectName" : {
            "type" : "string",
            "description" : "The name of the project where the object is."
          },
          "htmlContents" : {
            "type" : "array",
            "description" : "The html contents in the object.",
            "items" : {
              "$ref" : "#/components/schemas/DetailedHtmlContent"
            }
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32"
          },
          "id" : {
            "type" : "string",
            "description" : "The GUID of the object."
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the object."
          }
        },
        "description" : "The list of the inspection result."
      },
      "SimpleCertifiedInfo" : {
        "type" : "object",
        "properties" : {
          "certified" : {
            "type" : "boolean",
            "description" : "The object is certified or not."
          }
        },
        "description" : "The certification status of the object."
      },
      "ObjectExtendedProperty" : {
        "required" : [ "id", "value" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "Property ID",
            "format" : "int32"
          },
          "value" : {
            "type" : "object",
            "description" : "Property Value"
          }
        },
        "description" : "Object Extended Property"
      },
      "ObjectContentsSummary" : {
        "type" : "object",
        "properties" : {
          "result" : {
            "type" : "array",
            "description" : "The result of the object content inspection.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectContentInfo"
            }
          },
          "totalItems" : {
            "type" : "integer",
            "description" : "The total number of items.",
            "format" : "int32"
          }
        }
      },
      "InspectionJobResult" : {
        "type" : "object",
        "properties" : {
          "progress" : {
            "type" : "integer",
            "description" : "The progress of inspection job",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the inspection job.",
            "enum" : [ "initiated", "running", "ready", "error", "canceled", "unknown" ]
          },
          "total" : {
            "type" : "integer",
            "description" : "The count of ObjectContentInfo object in the result data.",
            "format" : "int32"
          },
          "data" : {
            "type" : "array",
            "description" : "The list of the inspection result.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectContentInfo"
            }
          }
        }
      },
      "LocaleTranslation" : {
        "type" : "object",
        "properties" : {
          "translationTargetName" : {
            "type" : "string",
            "description" : "Target Name"
          },
          "translationValues" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/TranslationValue"
            },
            "description" : "Translation value"
          }
        },
        "description" : "List of LocaleTranslation"
      },
      "ObjectTranslationInfo" : {
        "type" : "object",
        "properties" : {
          "defaultLanguage" : {
            "type" : "string",
            "description" : "default object language"
          },
          "localeName" : {
            "type" : "string",
            "description" : "locale name"
          },
          "localesAndTranslations" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/LocaleTranslation"
            },
            "description" : "List of LocaleTranslation"
          }
        }
      },
      "TranslationValue" : {
        "type" : "object",
        "properties" : {
          "translation" : {
            "type" : "string",
            "description" : "translation"
          }
        },
        "description" : "Translation value"
      },
      "RecommendationResultInfo" : {
        "title" : "Recommended objects result",
        "required" : [ "result", "totalItems" ],
        "type" : "object",
        "properties" : {
          "totalItems" : {
            "type" : "integer",
            "description" : "Total number of items in results",
            "format" : "int32"
          },
          "result" : {
            "type" : "array",
            "description" : "Recommended objects",
            "items" : {
              "$ref" : "#/components/schemas/RecommendedObjectInfo"
            }
          }
        },
        "description" : "Recommended objects that can be incrementally fetched."
      },
      "RecommendedObjectInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "ID of the project where the object that is being recommended is from."
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "score" : {
            "type" : "number",
            "description" : "Weighting factor for recommendation",
            "format" : "float"
          }
        },
        "description" : "Recommended objects"
      },
      "VLDBInheritedRest" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "object",
            "description" : "The value of the property"
          },
          "level" : {
            "type" : "integer",
            "description" : "The level of the property",
            "format" : "int32"
          }
        },
        "description" : "The inherited value of the property"
      },
      "VLDBProperty" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the property"
          },
          "value" : {
            "type" : "object",
            "description" : "The value of the property"
          },
          "defaultValue" : {
            "type" : "object",
            "description" : "The default value of the property"
          },
          "type" : {
            "type" : "integer",
            "description" : "The type of the property, which is an integer value from the enumeration [EnumVariantTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumVariantTypes.html)",
            "format" : "int32"
          },
          "inherited" : {
            "$ref" : "#/components/schemas/VLDBInheritedRest"
          }
        },
        "description" : "The properties of the property set"
      },
      "VLDBPropertySet" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the property set"
          },
          "properties" : {
            "type" : "array",
            "description" : "The properties of the property set",
            "items" : {
              "$ref" : "#/components/schemas/VLDBProperty"
            }
          }
        }
      },
      "ObjectInviteResponse" : {
        "type" : "object",
        "properties" : {
          "users" : {
            "type" : "array",
            "description" : "The invited users the object is shared to",
            "items" : {
              "$ref" : "#/components/schemas/ObjectInviteUserResponse"
            }
          }
        },
        "description" : "Object invite response info"
      },
      "ObjectInviteUserResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The invited user's id"
          },
          "name" : {
            "type" : "string",
            "description" : "The invited user's name"
          },
          "mail" : {
            "type" : "string",
            "description" : "The invited user's email"
          },
          "state" : {
            "type" : "string",
            "description" : "The invited user's state",
            "enum" : [ "ACTIVE", "PRECREATED", "EXPIRE" ]
          }
        },
        "description" : "The invited user info after an object is shared"
      },
      "ObjectInviteRequest" : {
        "required" : [ "emailList" ],
        "type" : "object",
        "properties" : {
          "emailList" : {
            "type" : "array",
            "description" : "Object invite target user emails",
            "items" : {
              "type" : "string",
              "description" : "Object invite target user emails"
            }
          },
          "emailContent" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string",
              "description" : "Email content for the invite request"
            },
            "description" : "Email content for the invite request"
          }
        },
        "description" : "Object invite request body info"
      },
      "ObjectExtendedPropertySet" : {
        "required" : [ "id", "properties" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "PropertySet ID"
          },
          "properties" : {
            "type" : "array",
            "description" : "Property ID",
            "items" : {
              "$ref" : "#/components/schemas/ObjectExtendedProperty"
            }
          }
        },
        "description" : "Object Extended Property"
      },
      "PropertyNameAndValue" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the property"
          },
          "value" : {
            "type" : "object",
            "description" : "The value of the property"
          }
        }
      },
      "AccessControlEntryUpdateInfo" : {
        "required" : [ "op", "trustee" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Operation",
            "enum" : [ "remove", "add", "replace" ]
          },
          "trustee" : {
            "type" : "string",
            "description" : "Trustee ID"
          },
          "rights" : {
            "type" : "integer",
            "description" : "Bit-value of object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "denied" : {
            "type" : "boolean",
            "description" : " Specifies whether to deny access. Default is 'false'."
          },
          "inheritable" : {
            "type" : "boolean",
            "description" : "ACEs with the inheritable attribute set to true are child-level ACEs, while those with the inheritable attribute set to false are object-level ACEs. Both false and true for inheritable should be added when setting ACL for folder object and its children."
          },
          "type" : {
            "type" : "integer",
            "description" : "Access control entry type. Default is 1 for object access. Possible values can be found in [EnumDSSXMLAccessEntryType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessEntryType.html)",
            "format" : "int32"
          },
          "propagateToChildren" : {
            "type" : "boolean",
            "description" : "Specifies whether this ACE change should be propagated to children or not. Default is 'false'."
          }
        },
        "description" : "Updated object access control list"
      },
      "ObjectUpdateInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Updated object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Updated object description"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Updated object abbreviation"
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Updated object icon path"
          },
          "folderId" : {
            "type" : "string",
            "description" : "ID of the parent folder"
          },
          "acl" : {
            "type" : "array",
            "description" : "Updated object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryUpdateInfo"
            }
          },
          "ownerId" : {
            "type" : "string",
            "description" : "New owner"
          },
          "propagateACLToChildren" : {
            "type" : "boolean",
            "description" : "Specifies whether children of the object should inherit the object access rights. Default is 'false'."
          },
          "propagationBehavior" : {
            "type" : "string",
            "description" : "Behavior of ACL propagation to children. Allowed values for Folders are:\noverwrite_children (deprecated), overwrite_recursive (deprecated), append_children (deprecated),\nappend_recursive (deprecated), precise_children (deprecated), precise_recursive (deprecated),\nmerge_selected, overwrite_selected, overwrite_all.\nAllowed values for Users/User Groups are: merge_selected, overwrite_selected, overwrite_all.\nDefault values are overwrite_all for Folders, and overwrite_all for Users/UserGroups.\n",
            "enum" : [ "overwrite_children", "overwrite_recursive", "append_children", "append_recursive", "precise_children", "precise_recursive", "merge_selected", "overwrite_selected", "overwrite_all" ]
          },
          "autoComplete" : {
            "type" : "boolean",
            "description" : "Specify whether to automatically remove the opposite ACE if the user has only specified a replace operation on an allow or deny entry, default is false"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Update object hidden status"
          },
          "template" : {
            "type" : "boolean",
            "description" : "Update template property"
          },
          "status" : {
            "type" : "string",
            "description" : "Update object status property. Applicable only for bot objects.",
            "enum" : [ "disabled", "enabled" ]
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Update object's long description; the first element in comments array"
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost for job prioritization",
            "format" : "int32"
          },
          "comments" : {
            "type" : "array",
            "description" : "Update object's comments",
            "items" : {
              "type" : "string",
              "description" : "Update object's comments"
            }
          }
        }
      },
      "BulkObjectUpdateInfo" : {
        "required" : [ "objects" ],
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "Naming info for objects that are copied or moved",
            "items" : {
              "$ref" : "#/components/schemas/ObjectIndex"
            }
          },
          "copyTo" : {
            "type" : "string",
            "description" : "ID of the folder to copy the objects to"
          },
          "moveTo" : {
            "type" : "string",
            "description" : "ID of the folder to move the objects to"
          }
        }
      },
      "ObjectTranslationPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace or Remove operation to be performed",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "add", "replace", "remove" ]
          },
          "path" : {
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/localesAndTranslations/MTowOi0xRUMyMzQ4REUxNDIxMDEyMTZCNzRDQjQ5MDk3Q0UxOC01NQ==/translationValues/1033/translation",
            "enum" : [ "/localesAndTranslations/{targetId}/translationValues/{localeId}/translation", "/localesAndTranslations/{targetId}/translationValues/{localeId}", "/localesAndTranslations/{targetId}/translationValues", "/localesAndTranslations/defaultLanguage" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : true
          }
        }
      },
      "PatchOperationsObjectTranslationPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ObjectTranslationPatchOperation"
            }
          }
        }
      },
      "AuthenticationMethod" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          }
        }
      },
      "AuthorizationGrantType" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          }
        }
      },
      "ClientAuthenticationMethod" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          }
        }
      },
      "ClientRegistration" : {
        "type" : "object",
        "properties" : {
          "registrationId" : {
            "type" : "string"
          },
          "clientId" : {
            "type" : "string"
          },
          "clientSecret" : {
            "type" : "string"
          },
          "clientAuthenticationMethod" : {
            "$ref" : "#/components/schemas/ClientAuthenticationMethod"
          },
          "authorizationGrantType" : {
            "$ref" : "#/components/schemas/AuthorizationGrantType"
          },
          "redirectUri" : {
            "type" : "string"
          },
          "scopes" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "providerDetails" : {
            "$ref" : "#/components/schemas/ProviderDetails"
          },
          "clientName" : {
            "type" : "string"
          },
          "clientSettings" : {
            "$ref" : "#/components/schemas/ClientSettings"
          }
        }
      },
      "ClientRegistrationRepository" : {
        "type" : "object"
      },
      "OidcIamConfig" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "issuer" : {
            "type" : "string"
          },
          "issuerUri" : {
            "type" : "string"
          },
          "mstrIam" : {
            "type" : "boolean"
          },
          "blockAutoProvisioning" : {
            "type" : "boolean"
          },
          "endSessionEndpoint" : {
            "type" : "string"
          },
          "nativeClientId" : {
            "type" : "string"
          },
          "redirectUri" : {
            "type" : "string"
          },
          "workstationRedirectHost" : {
            "type" : "string"
          },
          "globalLogout" : {
            "type" : "boolean"
          },
          "scopes" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "vendor" : {
            "$ref" : "#/components/schemas/Vendor"
          },
          "clientId" : {
            "type" : "string"
          },
          "clientSecret" : {
            "type" : "string"
          },
          "clientName" : {
            "type" : "string"
          },
          "webClientRegistration" : {
            "$ref" : "#/components/schemas/ClientRegistration"
          },
          "nativeClientRegistration" : {
            "$ref" : "#/components/schemas/ClientRegistration"
          },
          "clientRegistrations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ClientRegistration"
            }
          },
          "nativeClientName" : {
            "type" : "string"
          },
          "invalidConfig" : {
            "type" : "boolean"
          },
          "clientAuthenticationMethod" : {
            "$ref" : "#/components/schemas/ClientAuthenticationMethod"
          },
          "claimMap" : {
            "$ref" : "#/components/schemas/IamClaimMap"
          },
          "userInfoAuthenticationMethod" : {
            "$ref" : "#/components/schemas/AuthenticationMethod"
          },
          "userNameAttributeName" : {
            "type" : "string"
          },
          "configurationMetadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "adminGroups" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "systemPromptMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/IamSystemPromptInfo"
            }
          },
          "default" : {
            "type" : "boolean"
          },
          "redirect" : {
            "type" : "string",
            "writeOnly" : true
          },
          "providerConfigurationMetadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            },
            "writeOnly" : true
          },
          "directRetrieveUserInfo" : {
            "type" : "boolean"
          },
          "metadata_endpoint" : {
            "type" : "string"
          },
          "authorization_endpoint" : {
            "type" : "string"
          },
          "token_endpoint" : {
            "type" : "string"
          },
          "userinfo_endpoint" : {
            "type" : "string"
          },
          "jwks_uri" : {
            "type" : "string"
          },
          "additionalParameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "nativeClients" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OidcIamClient"
            }
          },
          "isOktaOboFeatureEnabled" : {
            "type" : "boolean"
          }
        }
      },
      "ProviderDetails" : {
        "type" : "object",
        "properties" : {
          "authorizationUri" : {
            "type" : "string"
          },
          "tokenUri" : {
            "type" : "string"
          },
          "userInfoEndpoint" : {
            "$ref" : "#/components/schemas/UserInfoEndpoint"
          },
          "jwkSetUri" : {
            "type" : "string"
          },
          "issuerUri" : {
            "type" : "string"
          },
          "configurationMetadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          }
        }
      },
      "UserInfoEndpoint" : {
        "type" : "object",
        "properties" : {
          "uri" : {
            "type" : "string"
          },
          "authenticationMethod" : {
            "$ref" : "#/components/schemas/AuthenticationMethod"
          },
          "userNameAttributeName" : {
            "type" : "string"
          }
        }
      },
      "Vendor" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          }
        }
      },
      "PackageImportDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The id of the package import."
          },
          "status" : {
            "type" : "string",
            "description" : "imported: The import process is finished.\n\nprocessing: The import is processing. We need to wait it to be imported.\n\nfailed: This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "imported", "processing", "failed", "deleted" ]
          },
          "undoPackageCreated" : {
            "type" : "boolean",
            "description" : "Undo package is created or not."
          },
          "progress" : {
            "type" : "number",
            "description" : "Import progress, for example, \"80\" means it is processing in 80%.",
            "format" : "double"
          }
        }
      },
      "PackageStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the package."
          },
          "status" : {
            "type" : "string",
            "description" : "empty: The empty package is just created. Waited to be initialized with objects or package file.\n\nready: The package is ready to be viewed, downloaded or imported.\n\nprocessing: The package is being processed. We need to wait it to be ready.\n\ndeleting: The package is being deleted. The delete process may take a while, before it is finished, we cannot create another package.\n\nfailed: This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "empty", "ready", "processing", "deleting", "failed" ]
          }
        }
      },
      "PackageDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package ID"
          },
          "status" : {
            "type" : "string",
            "description" : "empty: The empty package is just created. Waited to be initialized with objects or package file.\n\nready: The package is ready to be viewed, downloaded or imported.\n\nprocessing: The package is being processed. We need to wait it to be ready.\n\ndeleting: The package is being deleted. The delete process may take a while, before it is finished, we cannot create another package.\n\nfailed: This status occurs with a 40x or 50x HTTP code.",
            "enum" : [ "unknown", "empty", "ready", "processing", "deleting", "failed" ]
          },
          "settings" : {
            "$ref" : "#/components/schemas/PackageSettingDTO"
          },
          "content" : {
            "type" : "array",
            "description" : "Package content",
            "items" : {
              "$ref" : "#/components/schemas/PackageContentDTO"
            }
          }
        }
      },
      "PackageObject" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Package Object ID"
          },
          "type" : {
            "type" : "integer",
            "description" : "Package Object Name",
            "format" : "int32"
          },
          "definition" : {
            "type" : "object",
            "description" : "Package Object Definition"
          }
        },
        "description" : "Detail definition for objects."
      },
      "PackageViewDTO" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "description" : "Detail definition for objects.",
            "items" : {
              "$ref" : "#/components/schemas/PackageObject"
            }
          },
          "versions" : {
            "$ref" : "#/components/schemas/ProductVersions"
          }
        }
      },
      "ProductVersions" : {
        "type" : "object",
        "properties" : {
          "webVersion" : {
            "type" : "string",
            "description" : "Web version.",
            "example" : "11.0.0000.0000J"
          },
          "modelingVersion" : {
            "type" : "string",
            "description" : "Modeling Server Version",
            "example" : "11.3.0200.10520"
          },
          "iServerVersion" : {
            "type" : "string",
            "description" : "Intelligence Server Version",
            "example" : "11.0.0000.0095"
          }
        },
        "description" : "Product versions."
      },
      "PackageUpdateDto" : {
        "required" : [ "content", "settings", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Package type",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "settings" : {
            "$ref" : "#/components/schemas/PackageSettingDTO"
          },
          "content" : {
            "type" : "array",
            "description" : "Package content",
            "items" : {
              "$ref" : "#/components/schemas/PackageUpdateContentDTO"
            }
          }
        }
      },
      "PaletteCreationInfo" : {
        "required" : [ "colors", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "colors" : {
            "type" : "array",
            "description" : "Colors",
            "items" : {
              "type" : "string",
              "description" : "Colors"
            }
          }
        }
      },
      "AllPalettesAndThemes" : {
        "type" : "object",
        "properties" : {
          "palettes" : {
            "type" : "array",
            "description" : "palettes",
            "items" : {
              "$ref" : "#/components/schemas/LeanPaletteInfo"
            }
          },
          "themes" : {
            "type" : "array",
            "description" : "themes",
            "items" : {
              "$ref" : "#/components/schemas/LeanTheme"
            }
          }
        }
      },
      "LeanPaletteInfo" : {
        "type" : "object",
        "properties" : {
          "colors" : {
            "type" : "array",
            "description" : "colors",
            "items" : {
              "type" : "string",
              "description" : "colors"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "name",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "description" : "Palette ID: DSSID of the palette object",
            "readOnly" : true
          },
          "paletteType" : {
            "type" : "integer",
            "description" : "Palette type: System or custom",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "palettes"
      },
      "LeanPaletteReference" : {
        "type" : "object",
        "properties" : {
          "ql" : {
            "type" : "integer",
            "description" : "ql",
            "format" : "int32"
          },
          "paletteObjectID" : {
            "type" : "string",
            "description" : "Palette object ID",
            "readOnly" : true
          },
          "paletteType" : {
            "type" : "integer",
            "description" : "palette type",
            "format" : "int32",
            "readOnly" : true
          }
        },
        "description" : "Supported palettes: List of palette reference"
      },
      "LeanTheme" : {
        "type" : "object",
        "properties" : {
          "sup" : {
            "type" : "array",
            "description" : "Supported palettes: List of palette reference",
            "items" : {
              "$ref" : "#/components/schemas/LeanPaletteReference"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "name",
            "readOnly" : true
          },
          "id" : {
            "type" : "string",
            "description" : "Theme object ID",
            "readOnly" : true
          },
          "defaultPaletteId" : {
            "type" : "string",
            "description" : "Default palette object ID",
            "readOnly" : true
          }
        },
        "description" : "themes"
      },
      "PaletteInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "colors" : {
            "type" : "array",
            "description" : "Colors",
            "items" : {
              "type" : "string",
              "description" : "Colors"
            }
          }
        }
      },
      "PendoJwtResponse" : {
        "required" : [ "jwt", "signingKeyName" ],
        "type" : "object",
        "properties" : {
          "jwt" : {
            "type" : "string",
            "description" : "The JSON Web Token containing metadata for initializing Pendo"
          },
          "signingKeyName" : {
            "type" : "string",
            "description" : "The name of the signing key used to generate the JWT"
          },
          "useProductionEnvironment" : {
            "type" : "boolean",
            "description" : "Whether it is a production environment"
          }
        }
      },
      "PendoAccount" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "deploymentType" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          },
          "versionNumeral" : {
            "type" : "integer",
            "format" : "int64"
          },
          "iServerVersion" : {
            "type" : "string"
          },
          "iServerVersionNumeral" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "PendoMetadataPayload" : {
        "type" : "object",
        "properties" : {
          "dataHost" : {
            "type" : "string"
          },
          "excludeAllText" : {
            "type" : "boolean"
          },
          "sendEventsWithPostOnly" : {
            "type" : "boolean"
          },
          "nonce" : {
            "type" : "string"
          },
          "visitor" : {
            "$ref" : "#/components/schemas/PendoVisitor"
          },
          "account" : {
            "$ref" : "#/components/schemas/PendoAccount"
          }
        }
      },
      "PendoVisitor" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "authMode" : {
            "type" : "integer",
            "format" : "int32"
          },
          "applicationType" : {
            "type" : "integer",
            "format" : "int32"
          },
          "isEmbeddedApp" : {
            "type" : "boolean"
          },
          "isTrialInternal" : {
            "type" : "boolean"
          },
          "connectedServices" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "enabledPrivileges" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "enabledFeatureFlags" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "customApplicationConfig" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "embeddedApp" : {
            "type" : "boolean"
          },
          "userLanguage" : {
            "type" : "string"
          }
        }
      },
      "PartialVisitorInfo" : {
        "required" : [ "connectedServices", "customApplicationConfig", "enabledFeatureFlags", "enabledPrivileges" ],
        "type" : "object",
        "properties" : {
          "connectedServices" : {
            "maxItems" : 50,
            "minItems" : 0,
            "type" : "array",
            "description" : "A list of connected services",
            "items" : {
              "maxLength" : 250,
              "minLength" : 0,
              "type" : "string"
            }
          },
          "enabledPrivileges" : {
            "maxItems" : 1000,
            "minItems" : 0,
            "type" : "array",
            "description" : "A list of privileges for the current user",
            "items" : {
              "maxLength" : 250,
              "minLength" : 0,
              "type" : "string"
            }
          },
          "enabledFeatureFlags" : {
            "maxItems" : 1000,
            "minItems" : 0,
            "type" : "array",
            "description" : "A list of enabled feature flags",
            "items" : {
              "maxLength" : 250,
              "minLength" : 0,
              "type" : "string"
            }
          },
          "customApplicationConfig" : {
            "maxItems" : 1000,
            "minItems" : 0,
            "type" : "array",
            "description" : "A list of custom application settings",
            "items" : {
              "maxLength" : 250,
              "minLength" : 0,
              "type" : "string"
            }
          }
        },
        "description" : "Partial visitor information"
      },
      "PendoMetadataRequest" : {
        "required" : [ "visitor" ],
        "type" : "object",
        "properties" : {
          "visitor" : {
            "$ref" : "#/components/schemas/PartialVisitorInfo"
          }
        }
      },
      "MeasurementUnitResponse" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of preference (units)"
          },
          "value" : {
            "type" : "string",
            "description" : "Unit ID (0-6)",
            "example" : "2"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of code",
            "example" : "Centimeter"
          }
        }
      },
      "Preference" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        },
        "description" : "List of language preferences for the user group"
      },
      "UserGroupPreferenceResponse" : {
        "type" : "object",
        "properties" : {
          "userGroupId" : {
            "type" : "string",
            "description" : "User Group ID",
            "example" : "ABCD1234EFGH5678IJKL9012MNOP3456"
          },
          "preferences" : {
            "type" : "array",
            "description" : "List of language preferences for the user group",
            "items" : {
              "$ref" : "#/components/schemas/Preference"
            }
          }
        }
      },
      "LanguageRequest" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The unique identifier for the language. Must not be empty and must be a valid GUID."
          }
        }
      },
      "MeasurementUnitRequest" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "example" : "CM",
            "enum" : [ "DEFAULT", "CM", "IN", "MM", "PT", "PC", "PX", "0", "1", "2", "3", "4", "5", "6" ]
          }
        }
      },
      "PatchOperationsUserGroupPreferencePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserGroupPreferencePatchOperation"
            }
          }
        }
      },
      "UserGroupPreferencePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Patch operator",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Patch path",
            "example" : "/localeForDateNumber",
            "enum" : [ "/localeForDateNumber", "/localeForMessage", "/localeForMD", "/localeForData" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Patch value (language id, GUID)",
            "example" : "3D0F5EF8978D4AE086012C196BF01EBA"
          }
        }
      },
      "ProjectDuplicationStatusDto" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "status of the duplication task, only 'cancelled' is allowed"
          }
        }
      },
      "ExportConfigurationObjects" : {
        "type" : "object",
        "properties" : {
          "rules" : {
            "type" : "array",
            "description" : "Rules for configuration objects in the project export, with type and rule values.",
            "items" : {
              "$ref" : "#/components/schemas/ProjectDuplicationRuleDto"
            }
          },
          "objects" : {
            "type" : "array",
            "description" : "List of selected object IDs to include in the project export.",
            "items" : {
              "type" : "string",
              "description" : "List of selected object IDs to include in the project export."
            }
          },
          "includeAllUserGroups" : {
            "type" : "boolean",
            "description" : "Flag to include all user groups in the project export."
          }
        },
        "description" : "Project export configuration objects. Only for cross-environment execution"
      },
      "ImportConfigurationObjects" : {
        "type" : "object",
        "properties" : {
          "conflictRules" : {
            "type" : "array",
            "description" : "Conflict rules for imported project.",
            "items" : {
              "$ref" : "#/components/schemas/ProjectDuplicationRuleDto"
            }
          },
          "matchUsersByLogin" : {
            "type" : "boolean",
            "description" : "Match users by login."
          },
          "typesMatchByName" : {
            "type" : "array",
            "description" : "Objects in these types will firstly use object names to match the objects in the destination MD for comparing/replacing etc.\nIt will fallback to use object ID if object names not found in the destination MD.\nCurrently, only DbLogin (30), DbConnection (31) and Security role (44) are supported.\n",
            "items" : {
              "type" : "integer",
              "description" : "Objects in these types will firstly use object names to match the objects in the destination MD for comparing/replacing etc.\nIt will fallback to use object ID if object names not found in the destination MD.\nCurrently, only DbLogin (30), DbConnection (31) and Security role (44) are supported.\n",
              "format" : "int32"
            }
          }
        },
        "description" : "Configuration objects for imported project. Only for cross-environment execution"
      },
      "ProjectDuplicationDto" : {
        "required" : [ "id", "source", "target" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "duplication id"
          },
          "source" : {
            "$ref" : "#/components/schemas/ProjectDuplicationEnvDto"
          },
          "target" : {
            "$ref" : "#/components/schemas/ProjectDuplicationEnvDto"
          },
          "createdDate" : {
            "type" : "string",
            "description" : "duplication creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "duplication last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "status" : {
            "type" : "string",
            "description" : "project duplication status.",
            "enum" : [ "unknown", "created", "create_failed", "exporting", "exported", "export_failed", "importing", "import_failed", "completed", "cancelled", "cancelling", "export_syncing", "import_syncing" ]
          },
          "progress" : {
            "type" : "integer",
            "description" : "duplication progress for current status.",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "Record information such as the reason why this import failed."
          },
          "settings" : {
            "$ref" : "#/components/schemas/ProjectDuplicationSettingsDto"
          }
        },
        "description" : "List of project duplications"
      },
      "ProjectDuplicationEnvDto" : {
        "type" : "object",
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          }
        },
        "description" : "target info for project duplication"
      },
      "ProjectDuplicationRuleDto" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "integer",
            "description" : "Type of objects, such as Folder, Attribute or User. Possible values are defined in  EnumDSSXMLObjectTypes(https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "rule" : {
            "type" : "integer",
            "description" : "The rule value for the configuration object.",
            "format" : "int32"
          }
        },
        "description" : "Conflict rules for imported project."
      },
      "ProjectDuplicationSettingsDto" : {
        "required" : [ "export", "import" ],
        "type" : "object",
        "properties" : {
          "export" : {
            "$ref" : "#/components/schemas/ProjectExportSettingsDto"
          },
          "import" : {
            "$ref" : "#/components/schemas/ProjectImportSettingsDto"
          }
        },
        "description" : "setting info for project duplication"
      },
      "ProjectExportSettingsDto" : {
        "required" : [ "projectObjectsPreference", "subscriptionPreferences" ],
        "type" : "object",
        "properties" : {
          "projectObjectsPreference" : {
            "$ref" : "#/components/schemas/ProjectObjectsPreference"
          },
          "subscriptionPreferences" : {
            "$ref" : "#/components/schemas/SubscriptionPreferences"
          },
          "configurationObjects" : {
            "$ref" : "#/components/schemas/ExportConfigurationObjects"
          }
        },
        "description" : "settings for export phase"
      },
      "ProjectImportSettingsDto" : {
        "required" : [ "locales" ],
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Description for imported project."
          },
          "defaultLocale" : {
            "type" : "integer",
            "description" : "Locale used for internationalization in imported project. Default is “1033” (English - United States).",
            "format" : "int32"
          },
          "locales" : {
            "type" : "array",
            "description" : "List of locale ids for imported project.",
            "items" : {
              "type" : "integer",
              "description" : "List of locale ids for imported project.",
              "format" : "int32"
            }
          },
          "configurationObjects" : {
            "$ref" : "#/components/schemas/ImportConfigurationObjects"
          }
        },
        "description" : "settings for import phase"
      },
      "ProjectObjectsPreference" : {
        "type" : "object",
        "properties" : {
          "schemaObjectsOnly" : {
            "type" : "boolean",
            "description" : "Include only schema objects in the project export."
          },
          "skipEmptyProfileFolders" : {
            "type" : "boolean",
            "description" : "Skip empty profile folders in the project export."
          },
          "skipAllProfileFolders" : {
            "type" : "boolean",
            "description" : "Skip all profile folders in the project export."
          }
        },
        "description" : "Project export objects preferences."
      },
      "SubscriptionPreferences" : {
        "type" : "object",
        "properties" : {
          "includeUserSubscriptions" : {
            "type" : "boolean",
            "description" : "Include user subscriptions in the project export."
          },
          "includeContactSubscriptions" : {
            "type" : "boolean",
            "description" : "Include contact subscriptions in the project export."
          },
          "includeContactsAndContactGroups" : {
            "type" : "boolean",
            "description" : "Include contacts and contact groups in the project export. Only for cross-environment execution."
          }
        },
        "description" : "Project export subscription preferences."
      },
      "ProjectDuplicationCreateDto" : {
        "required" : [ "settings", "source", "target" ],
        "type" : "object",
        "properties" : {
          "source" : {
            "$ref" : "#/components/schemas/ProjectDuplicationEnvCreateDto"
          },
          "target" : {
            "$ref" : "#/components/schemas/ProjectDuplicationEnvCreateDto"
          },
          "settings" : {
            "$ref" : "#/components/schemas/ProjectDuplicationSettingsDto"
          }
        }
      },
      "ProjectDuplicationEnvCreateDto" : {
        "required" : [ "environment", "project" ],
        "type" : "object",
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "project" : {
            "$ref" : "#/components/schemas/Project"
          }
        },
        "description" : "target environment and target project for duplication"
      },
      "IserverDuplicationVersionsDto" : {
        "type" : "object",
        "properties" : {
          "apiVersion" : {
            "type" : "integer",
            "description" : "API version of the iServer.",
            "format" : "int32"
          },
          "dataVersion" : {
            "type" : "string",
            "description" : "The version of project duplication backup files."
          }
        }
      },
      "ProjectDuplicationsDto" : {
        "type" : "object",
        "properties" : {
          "duplications" : {
            "type" : "array",
            "description" : "List of project duplications",
            "items" : {
              "$ref" : "#/components/schemas/ProjectDuplicationDto"
            }
          }
        }
      },
      "ProjectRestorationRequestDto" : {
        "required" : [ "settings", "target" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ProjectDuplicationEnvCreateDto"
          },
          "settings" : {
            "$ref" : "#/components/schemas/RestorationSettings"
          }
        }
      },
      "RestorationSettings" : {
        "required" : [ "import" ],
        "type" : "object",
        "properties" : {
          "import" : {
            "$ref" : "#/components/schemas/ProjectImportSettingsDto"
          }
        },
        "description" : "target environment and target project for duplication"
      },
      "DISettings" : {
        "type" : "object",
        "properties" : {
          "uploadSizeLimit" : {
            "type" : "integer",
            "description" : "Upload Size Limit",
            "format" : "int32"
          },
          "cubeQuota" : {
            "type" : "integer",
            "description" : "Cube Quota",
            "format" : "int32"
          },
          "enableURLImport" : {
            "type" : "boolean",
            "description" : "Enable URL Import"
          },
          "enableFTPImport" : {
            "type" : "boolean",
            "description" : "Enable FTP Import"
          },
          "enableHttpImport" : {
            "type" : "boolean",
            "description" : "Enable Http Import"
          },
          "enableFileImport" : {
            "type" : "boolean",
            "description" : "Enable File Import"
          }
        }
      },
      "AeSettings" : {
        "type" : "object",
        "properties" : {
          "versions" : {
            "type" : "array",
            "description" : "Analytical Engine versions",
            "items" : {
              "$ref" : "#/components/schemas/AeVersion"
            }
          },
          "versionProperties" : {
            "type" : "array",
            "description" : "Analytical Engine version properties",
            "items" : {
              "$ref" : "#/components/schemas/AeVersionProperty"
            }
          }
        },
        "description" : "Engine Settings"
      },
      "AeVersion" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Value of the engine property"
          },
          "description" : {
            "type" : "string",
            "description" : "Analytical engine description"
          },
          "selected" : {
            "type" : "boolean",
            "description" : "Currently selected"
          }
        },
        "description" : "Analytical Engine versions"
      },
      "AeVersionProperty" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "Property ID",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Property name"
          },
          "value" : {
            "type" : "string",
            "description" : "Property value"
          },
          "description" : {
            "type" : "string",
            "description" : "Property description"
          }
        },
        "description" : "Analytical Engine version properties"
      },
      "EngineSettings" : {
        "type" : "object",
        "properties" : {
          "engine" : {
            "$ref" : "#/components/schemas/AeSettings"
          }
        }
      },
      "ValidateDatasource" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Datasource id"
          },
          "name" : {
            "type" : "string",
            "description" : "Datasource name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "datasourceType" : {
            "type" : "string",
            "description" : "Datasource type",
            "enum" : [ "reserved", "normal", "data_import", "data_import_primary", "script", "git_integration" ]
          },
          "database" : {
            "$ref" : "#/components/schemas/DatabaseInfo"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "Table prefix"
          },
          "odbcVersion" : {
            "type" : "string",
            "description" : "Odbc version",
            "enum" : [ "version3x", "version2x" ]
          },
          "intermediateStoreDbName" : {
            "type" : "string",
            "description" : "Intermediate store DBName"
          },
          "intermediateStoreTableSpaceName" : {
            "type" : "string",
            "description" : "Intermediate store table space name"
          },
          "dbms" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "script" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          },
          "scriptRuntime" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "isAllowToRemove" : {
            "type" : "boolean",
            "description" : "Can the datasource be removed from the project."
          },
          "isAIDescription" : {
            "type" : "boolean",
            "description" : "Is Description generated by AI?"
          }
        }
      },
      "DataLocalizationLanguage" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Language ID",
            "writeOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Language name"
          },
          "column" : {
            "type" : "string",
            "description" : "Column pattern"
          },
          "table" : {
            "type" : "string",
            "description" : "Table pattern"
          },
          "connectionId" : {
            "type" : "string",
            "description" : "Connection ID"
          }
        },
        "description" : "List of languages used for data internationalization"
      },
      "DataLocalizationLanguageList" : {
        "type" : "object",
        "properties" : {
          "defaultLanguage" : {
            "type" : "string",
            "description" : "Default language used by data internationalization"
          },
          "currentMode" : {
            "type" : "string",
            "description" : "Current mode for data internationalization",
            "enum" : [ "none", "sql", "connection" ]
          },
          "languages" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/DataLocalizationLanguage"
            },
            "description" : "List of languages used for data internationalization"
          }
        },
        "description" : "Settings for data internationalization"
      },
      "Metadata" : {
        "type" : "object",
        "properties" : {
          "default" : {
            "type" : "string",
            "description" : "Default language used by metadata internationalization"
          },
          "languages" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/SimpleLanguage"
            },
            "description" : "List of languages used for data internationalization"
          }
        },
        "description" : "Settings for metadata internationalization"
      },
      "ProjectLanguageConfiguration" : {
        "type" : "object",
        "properties" : {
          "metadata" : {
            "$ref" : "#/components/schemas/Metadata"
          },
          "data" : {
            "$ref" : "#/components/schemas/DataLocalizationLanguageList"
          }
        },
        "description" : "Language internationalization configuration of the project"
      },
      "SimpleLanguage" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Language name"
          },
          "id" : {
            "type" : "string",
            "description" : "Language ID",
            "writeOnly" : true
          }
        },
        "description" : "Basic Language information"
      },
      "ProjectLoadInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "nodes" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "List of nodes",
            "items" : {
              "type" : "string",
              "description" : "List of nodes"
            }
          }
        },
        "description" : "List of project load info"
      },
      "ProjectLoadInfoList" : {
        "type" : "object",
        "properties" : {
          "projects" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ProjectLoadInfo"
            },
            "description" : "List of project load info"
          }
        }
      },
      "QuotaBase" : {
        "type" : "object",
        "properties" : {
          "size" : {
            "maximum" : 2251799812636672,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Quota size (in MB)",
            "format" : "int64"
          }
        }
      },
      "ProjectRef" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "projectIndex" : {
            "type" : "integer",
            "description" : "project index",
            "format" : "int32"
          },
          "projectSettings" : {
            "type" : "array",
            "description" : "Settings",
            "items" : {
              "$ref" : "#/components/schemas/ServerProjectSetting"
            }
          }
        }
      },
      "ServerProjectSetting" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "integer",
            "description" : "id of the setting, defined in EnumDSSXMLServerProjectSettingID (https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLServerProjectSettingID.html)",
            "format" : "int32",
            "enum" : [ null ]
          },
          "dataType" : {
            "type" : "integer",
            "description" : "dataType of the setting, defined in EnumDSSXMLDataType with the following values (1-integer, 2-unsigned, 3-numeric, 4-decimal, 5-real, 6-double, 7-float, 8-char, 11-binary, 14-date, 15-time, 16-timstamp, 21-short, 22-long, 24-boolean, 30-bigDecimal, etc.)",
            "format" : "int32"
          },
          "value" : {
            "type" : "string",
            "description" : "value"
          }
        },
        "description" : "List of settings"
      },
      "QuotaUserInfo" : {
        "type" : "object",
        "properties" : {
          "size" : {
            "maximum" : 2251799812636672,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Quota size (in MB)",
            "format" : "int64"
          },
          "user" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          }
        }
      },
      "PatchOperationsProjectEngineVersionPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectEngineVersionPatchOperation"
            }
          }
        }
      },
      "ProjectEngineVersionPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "enum" : [ "AEVersion", "AEVersionLastEffective", "AEVersionTarget" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "ProjectCubesPropertyValue" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "object",
            "description" : "value"
          }
        }
      },
      "PatchOperationsProjectLoadPatch" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectLoadPatch"
            }
          }
        }
      },
      "ProjectLoadPatch" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/projects/B7CA92F04B9FAE8D941C3E9B7E0CD754/nodes"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value used to replace existing value]",
            "example" : [ "env-183260laio2use1" ]
          }
        }
      },
      "ServerProjectSettings" : {
        "type" : "object",
        "properties" : {
          "settings" : {
            "type" : "array",
            "description" : "List of settings",
            "items" : {
              "$ref" : "#/components/schemas/ServerProjectSetting"
            }
          }
        }
      },
      "PatchOperationsProjectDatasourcePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectDatasourcePatchOperation"
            }
          }
        }
      },
      "ProjectDatasourcePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "remove",
            "enum" : [ "remove", "add" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/id",
            "enum" : [ "/id" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "DAD6CAD6457DAF29E34463961688EA60"
          }
        }
      },
      "PatchOperationsProjectLanguageSettingsPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ProjectLanguageSettingsPatchOperation"
            }
          }
        }
      },
      "ProjectLanguageSettingsPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Replace operation to be performed",
            "example" : "replace",
            "enum" : [ "replace, add, remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/data/default",
            "enum" : [ "/data", "/metadata" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : "000004094F95EF3956E52781700C1E7A"
          }
        }
      },
      "ProjectPrimaryDatasourceInfo" : {
        "type" : "object",
        "properties" : {
          "primaryDatasource" : {
            "$ref" : "#/components/schemas/ObjectGUID"
          }
        }
      },
      "PersonalPromptAnswerId" : {
        "required" : [ "isDefaultPromptAnswer", "personalPromptAnswerName", "values" ],
        "type" : "object",
        "properties" : {
          "personalPromptAnswerName" : {
            "type" : "string",
            "description" : "Personal prompt answer name"
          },
          "isDefaultPromptAnswer" : {
            "type" : "boolean",
            "description" : "Is default personal prompt answer"
          },
          "values" : {
            "type" : "array",
            "description" : "Personal prompt answer values",
            "items" : {
              "type" : "string",
              "description" : "Personal prompt answer values"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Personal prompt answer id"
          }
        }
      },
      "PersonalPromptAnswer" : {
        "required" : [ "isDefaultPromptAnswer", "personalPromptAnswerName", "values" ],
        "type" : "object",
        "properties" : {
          "personalPromptAnswerName" : {
            "type" : "string",
            "description" : "Personal prompt answer name"
          },
          "isDefaultPromptAnswer" : {
            "type" : "boolean",
            "description" : "Is default personal prompt answer"
          },
          "values" : {
            "type" : "array",
            "description" : "Personal prompt answer values",
            "items" : {
              "type" : "string",
              "description" : "Personal prompt answer values"
            }
          }
        }
      },
      "PatchOperationsPromptPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PromptPatchOperation"
            }
          }
        }
      },
      "PromptPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/isDefaultAnswer",
            "enum" : [ "/isDefaultAnswer" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : false
          }
        }
      },
      "QuestionGroupColumnDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of the column"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the column"
          },
          "attributeId" : {
            "type" : "string",
            "description" : "The attribute ID associated with the column"
          },
          "datasetId" : {
            "type" : "string",
            "description" : "The dataset ID to which the column belongs"
          },
          "datasetContainerId" : {
            "type" : "string",
            "description" : "The dataset container ID for the column"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of the column",
            "enum" : [ "metric", "attributeForm" ]
          }
        },
        "description" : "List of columns in the question group"
      },
      "QuestionGroupDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the question group"
          },
          "questionId" : {
            "type" : "string",
            "description" : "ID of the related question"
          },
          "text" : {
            "type" : "string",
            "description" : "Text of the question group"
          },
          "interpretedQuestion" : {
            "type" : "string",
            "description" : "Interpreted question text"
          },
          "columns" : {
            "type" : "array",
            "description" : "List of columns in the question group",
            "items" : {
              "$ref" : "#/components/schemas/QuestionGroupColumnDto"
            }
          },
          "count" : {
            "type" : "integer",
            "description" : "Count of items in the group",
            "format" : "int32"
          },
          "thumbUps" : {
            "type" : "integer",
            "description" : "Number of thumbs up",
            "format" : "int32"
          },
          "thumbDowns" : {
            "type" : "integer",
            "description" : "Number of thumbs down",
            "format" : "int32"
          },
          "isPinned" : {
            "type" : "boolean",
            "description" : "Indicates if the group is pinned"
          },
          "updatedTime" : {
            "type" : "string",
            "description" : "Last updated time of the question group",
            "format" : "date-time"
          },
          "createdTime" : {
            "type" : "string",
            "description" : "Creation time of the question group",
            "format" : "date-time"
          },
          "sql" : {
            "type" : "string",
            "description" : "SQL query associated with the question group"
          },
          "user" : {
            "$ref" : "#/components/schemas/UserDto"
          },
          "isAnswerQualified" : {
            "type" : "boolean",
            "description" : "Whether the question has got qualified answer"
          },
          "originalId" : {
            "type" : "string",
            "description" : "Original ID of the question group"
          },
          "isLandingPageCache" : {
            "type" : "boolean",
            "description" : "Indicates if the group is from landing page cache"
          }
        },
        "description" : "List of question groups"
      },
      "QuestionGroupsDto" : {
        "type" : "object",
        "properties" : {
          "questionGroups" : {
            "type" : "array",
            "description" : "List of question groups",
            "items" : {
              "$ref" : "#/components/schemas/QuestionGroupDto"
            }
          }
        }
      },
      "UserDto" : {
        "type" : "object",
        "properties" : {
          "userId" : {
            "type" : "string",
            "description" : "ID of the user"
          },
          "userName" : {
            "type" : "string",
            "description" : "Name of the user"
          }
        },
        "description" : "User who asked the root question of the question group"
      },
      "QuestionGroupPostDto" : {
        "type" : "object",
        "properties" : {
          "questions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/QuestionGroupPostQuestionDto"
            }
          }
        }
      },
      "QuestionGroupPostQuestionDto" : {
        "type" : "object",
        "properties" : {
          "questionId" : {
            "type" : "string"
          }
        }
      },
      "QuestionGroupQuestionAnswerDto" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "answer Text"
          },
          "charts" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "columnFormats" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "QuestionGroupQuestionDto" : {
        "type" : "object",
        "properties" : {
          "groupId" : {
            "type" : "string",
            "description" : "Group identifier"
          },
          "questionId" : {
            "type" : "string",
            "description" : "Question identifier"
          },
          "interpretedQuestion" : {
            "type" : "string",
            "description" : "Interpreted question text"
          },
          "question" : {
            "type" : "string",
            "description" : "Original question text"
          },
          "similarity" : {
            "type" : "number",
            "description" : "Similarity score",
            "format" : "double"
          },
          "sentiment" : {
            "type" : "boolean",
            "description" : "Sentiment value"
          },
          "userName" : {
            "type" : "string",
            "description" : "User name"
          },
          "date" : {
            "type" : "string",
            "description" : "Date of the question",
            "format" : "date-time"
          },
          "agents" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "ExtendPatchOperation" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Operation to be performed",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          },
          "from" : {
            "type" : "string",
            "description" : "Path to source where operation will be performed"
          }
        }
      },
      "PatchOperationsDtoExtendPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ExtendPatchOperation"
            }
          },
          "patchOperations" : {
            "$ref" : "#/components/schemas/PatchOperationsExtendPatchOperation"
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/snapshotSortBy",
            "value" : "sort key"
          }, {
            "op" : "replace",
            "path" : "/categories/{categoryId}/name",
            "value" : "new category name"
          } ]
        }
      },
      "PatchOperationsExtendPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ExtendPatchOperation"
            }
          }
        }
      },
      "QuestionGroupPostInterpretationDto" : {
        "required" : [ "questionGroupIds" ],
        "type" : "object",
        "properties" : {
          "questionGroupIds" : {
            "type" : "array",
            "description" : "List of question group IDs to regenerate interpretations for",
            "items" : {
              "type" : "string",
              "description" : "List of question group IDs to regenerate interpretations for"
            }
          }
        }
      },
      "QuestionGroupValidateResultDto" : {
        "type" : "object",
        "properties" : {
          "valid" : {
            "type" : "boolean"
          },
          "message" : {
            "type" : "string"
          },
          "answer" : {
            "type" : "string"
          }
        }
      },
      "QuestionGroupValidateDto" : {
        "type" : "object",
        "properties" : {
          "sql" : {
            "type" : "string"
          }
        }
      },
      "AutomaticRoutingQuestionGetDto" : {
        "required" : [ "answers", "text" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Question id"
          },
          "text" : {
            "type" : "string",
            "description" : "Question text."
          },
          "elementsUsed" : {
            "type" : "array",
            "description" : "elements used in the question.",
            "items" : {
              "$ref" : "#/components/schemas/ElementDto"
            }
          },
          "subBot" : {
            "$ref" : "#/components/schemas/SubBotInQuestionDto"
          },
          "answers" : {
            "type" : "array",
            "description" : "Question answers.",
            "items" : {
              "$ref" : "#/components/schemas/AutomaticRoutingQuestionAnswerDto"
            }
          },
          "quotedMessageIds" : {
            "type" : "array",
            "description" : "Quoted message Ids",
            "items" : {
              "type" : "string",
              "description" : "Quoted message Ids"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Question creation date.",
            "format" : "date-time"
          },
          "snapshot" : {
            "type" : "boolean",
            "description" : "snapshot"
          },
          "type" : {
            "type" : "string",
            "description" : "chat message type",
            "enum" : [ "history", "snapshots", "historyAndSnapshots" ]
          },
          "processingStatus" : {
            "$ref" : "#/components/schemas/QuestionStatus"
          },
          "isFinished" : {
            "type" : "boolean",
            "description" : "is question answered"
          },
          "thumbUp" : {
            "type" : "boolean",
            "description" : "Thumb up status"
          },
          "thumbDown" : {
            "type" : "boolean",
            "description" : "Thumb down status"
          },
          "reportStage" : {
            "$ref" : "#/components/schemas/ReportStageDto"
          },
          "cacheInfo" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        },
        "description" : "Chat QA"
      },
      "ElementDto" : {
        "required" : [ "attributeId", "datasetId", "element", "formId", "startIndex" ],
        "type" : "object",
        "properties" : {
          "formId" : {
            "type" : "string",
            "description" : "Form ID"
          },
          "attributeId" : {
            "type" : "string",
            "description" : "Attribute ID"
          },
          "datasetId" : {
            "type" : "string",
            "description" : "Dataset ID"
          },
          "element" : {
            "type" : "string",
            "description" : "Element value"
          },
          "startIndex" : {
            "type" : "integer",
            "description" : "Starting index of element text in the question text",
            "format" : "int32"
          }
        },
        "description" : "elements used in the question."
      },
      "SubBotInQuestionDto" : {
        "required" : [ "id", "index", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Sub Agent ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Sub Agent Name or Alias"
          },
          "index" : {
            "type" : "integer",
            "description" : "Sub Agent Name (or Alias) Index in Question Text",
            "format" : "int32"
          }
        },
        "description" : "Only for universal Agent, specify a sub agent for the question."
      },
      "AnswersImagePostDto" : {
        "required" : [ "height", "width" ],
        "type" : "object",
        "properties" : {
          "width" : {
            "type" : "integer",
            "description" : "Image width.",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "description" : "Image height.",
            "format" : "int32"
          }
        },
        "description" : "Answer images sizeYou can only specify up to 1 image."
      },
      "AutomaticRoutingQuestionPostDto" : {
        "required" : [ "text" ],
        "type" : "object",
        "properties" : {
          "text" : {
            "type" : "string",
            "description" : "Question text."
          },
          "textOnly" : {
            "type" : "boolean",
            "description" : "Don't generate the visualizations for the answers."
          },
          "imageContent" : {
            "type" : "string",
            "description" : "Question image content (base64 format)."
          },
          "quotes" : {
            "maxItems" : 1,
            "minItems" : 0,
            "type" : "array",
            "description" : "Quotes Messages. You can only specify up to 1 quote.",
            "items" : {
              "$ref" : "#/components/schemas/Quote"
            }
          },
          "bots" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "List of agents to be used. Only one agent can be specified.",
            "items" : {
              "$ref" : "#/components/schemas/BotDto"
            }
          },
          "subBot" : {
            "$ref" : "#/components/schemas/SubBotInQuestionDto"
          },
          "specificSubBotIds" : {
            "type" : "array",
            "description" : "Only for universal Agent, specify multiple sub agents for the question.",
            "items" : {
              "type" : "string",
              "description" : "Only for universal Agent, specify multiple sub agents for the question."
            }
          },
          "history" : {
            "maxItems" : 5,
            "minItems" : 0,
            "type" : "array",
            "description" : "History message of the chat. Only 5 history message can be specified.",
            "items" : {
              "$ref" : "#/components/schemas/ChatMessage"
            }
          },
          "useStreaming" : {
            "type" : "boolean",
            "description" : "whether to use SSE connection"
          },
          "elementsUsed" : {
            "type" : "array",
            "description" : "Elements used in the question. ",
            "items" : {
              "$ref" : "#/components/schemas/ElementDto"
            }
          },
          "useWebSearch" : {
            "type" : "boolean",
            "description" : "Whether to use web search to enhance the answer."
          },
          "userTimezone" : {
            "type" : "string",
            "description" : "Provide users browser timezone"
          },
          "answers.images" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "Answer images sizeYou can only specify up to 1 image.",
            "items" : {
              "$ref" : "#/components/schemas/AnswersImagePostDto"
            }
          }
        }
      },
      "Quote" : {
        "required" : [ "text", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Question id."
          },
          "question" : {
            "type" : "string",
            "description" : "Question text."
          },
          "text" : {
            "type" : "string",
            "description" : "Quote text."
          },
          "additionalContext" : {
            "type" : "string",
            "description" : "Additional context for the message."
          },
          "type" : {
            "type" : "string",
            "description" : "Quote type.\nQUESTION: this type is used for quoting a question, need to provide question id and question text.\nMESSAGE: this type is used for quoting a message, only need to provide the message text.\n",
            "enum" : [ "answer", "message" ]
          }
        },
        "description" : "Quotes Messages. You can only specify up to 1 quote."
      },
      "AutomaticRoutingBotSuggestionCreateDto" : {
        "type" : "object",
        "properties" : {
          "suggestions" : {
            "type" : "array",
            "description" : "Question Suggestions.",
            "items" : {
              "$ref" : "#/components/schemas/AutomaticRoutingBotSuggestionDto"
            }
          }
        }
      },
      "AutomaticRoutingBotSuggestionDto" : {
        "type" : "object",
        "properties" : {
          "bot" : {
            "$ref" : "#/components/schemas/BotWithoutProjectDto"
          },
          "project" : {
            "$ref" : "#/components/schemas/ProjectDto"
          },
          "text" : {
            "type" : "string",
            "description" : "Suggestions text."
          }
        },
        "description" : "Question Suggestions."
      },
      "BotWithoutProjectDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent id."
          }
        },
        "description" : "Suggestions agent."
      },
      "ProjectDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project id."
          }
        },
        "description" : "Suggestions project."
      },
      "AutomaticRoutingBotSuggestionPostDto" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "maximum" : 5,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Suggested question count",
            "format" : "int32"
          },
          "context" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "Question context (Auto Bots only). You can only specify up to 1 context.",
            "items" : {
              "$ref" : "#/components/schemas/QuestionSuggestionContextDto"
            }
          },
          "bots" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "List of agents to be used. Only one agent can be specified.",
            "items" : {
              "$ref" : "#/components/schemas/BotDto"
            }
          },
          "history" : {
            "maxItems" : 1,
            "minItems" : 0,
            "type" : "array",
            "description" : "History message of the chat. Only one history message can be specified.",
            "items" : {
              "$ref" : "#/components/schemas/ChatMessage"
            }
          },
          "route" : {
            "type" : "string",
            "description" : "Route information for the answer to the last question. Retrieve it from the `route` field in the response of GET /api/questions/{questionId}."
          },
          "targetObject" : {
            "$ref" : "#/components/schemas/SuggestionsTargetObjectDTO"
          },
          "dashboardContext" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "QuestionSuggestionContextDto" : {
        "type" : "object",
        "properties" : {
          "text" : {
            "maxLength" : 1000,
            "minLength" : 1,
            "type" : "string",
            "description" : "Question context"
          }
        },
        "description" : "Question context (Auto Bots only). You can only specify up to 1 context."
      },
      "SuggestionsTargetObjectDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "attribute", "metric", "bot", "unstructuredData" ]
          },
          "name" : {
            "type" : "string"
          },
          "datasetId" : {
            "type" : "string"
          }
        },
        "description" : "filter suggested questions by a metric or attribute."
      },
      "CommaSeparatedQueryParam" : {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "QuestionFullDataDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "xlsx", "csv" ]
          }
        }
      },
      "QuestionFullDataRequestDto" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "xlsx", "csv" ]
          },
          "sortKeys" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SortKey"
            }
          },
          "customColumns" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "skipSQLExecution" : {
            "type" : "boolean"
          }
        }
      },
      "SortKey" : {
        "type" : "object",
        "properties" : {
          "column" : {
            "type" : "string"
          },
          "ascending" : {
            "type" : "string"
          }
        }
      },
      "AutomaticRoutingQuestionListGetDto" : {
        "type" : "object",
        "properties" : {
          "questions" : {
            "type" : "array",
            "description" : "question list",
            "items" : {
              "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
            }
          },
          "snapshotSortBy" : {
            "type" : "string",
            "description" : "Snapshot sort order"
          }
        }
      },
      "VizData" : {
        "type" : "object",
        "properties" : {
          "charts" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "columnFormats" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "QuestionSetStatusDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string"
          },
          "recordsImported" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "QuestionSetDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "createdAt" : {
            "type" : "string"
          },
          "updatedAt" : {
            "type" : "string"
          },
          "questions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/QuestionSetQuestionDto"
            }
          }
        }
      },
      "QuestionSetQuestionDto" : {
        "type" : "object",
        "properties" : {
          "questionId" : {
            "type" : "string"
          },
          "question" : {
            "type" : "string"
          },
          "expectedAnswer" : {
            "type" : "string"
          },
          "category" : {
            "type" : "string"
          },
          "answerType" : {
            "type" : "string"
          },
          "expectedImageUrl" : {
            "type" : "string"
          },
          "expectedImageData" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "byte"
            }
          },
          "imageMimeType" : {
            "type" : "string"
          }
        }
      },
      "QuestionSetListResponseDto" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/QuestionSetDto"
            }
          },
          "total" : {
            "type" : "integer",
            "format" : "int32"
          },
          "page" : {
            "type" : "integer",
            "format" : "int32"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "LibraryRecommendationDto" : {
        "type" : "object",
        "properties" : {
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LibraryRecommendationObjectDto"
            }
          },
          "basedOnSummary" : {
            "type" : "string"
          }
        }
      },
      "LibraryRecommendationObjectDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "viewMedia" : {
            "type" : "integer",
            "format" : "int64"
          },
          "coverPageUrl" : {
            "type" : "string"
          },
          "lastModifiedTime" : {
            "type" : "string"
          },
          "acg" : {
            "type" : "integer",
            "format" : "int32"
          },
          "subType" : {
            "type" : "integer",
            "format" : "int32"
          },
          "type" : {
            "type" : "integer",
            "format" : "int32"
          },
          "feedbackStatus" : {
            "type" : "integer",
            "format" : "int32"
          },
          "recommendationScore" : {
            "type" : "number",
            "format" : "double"
          },
          "source" : {
            "type" : "string"
          }
        }
      },
      "PostRecommendationsRequest" : {
        "type" : "object",
        "properties" : {
          "start_date" : {
            "type" : "string"
          },
          "end_date" : {
            "type" : "string"
          },
          "project_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "object_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "object_types" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "user_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "force_reload" : {
            "type" : "boolean",
            "default" : false
          },
          "org_directory_provider" : {
            "type" : "string"
          }
        }
      },
      "UpdateObjectDescriptionRequest" : {
        "required" : [ "description", "id", "name", "subType", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "type" : {
            "type" : "integer",
            "format" : "int32"
          },
          "subType" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ServerCacheCountersInfo" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "format" : "int32"
          },
          "documentCacheSize" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dossierCacheSize" : {
            "type" : "integer",
            "format" : "int32"
          },
          "reportCacheSize" : {
            "type" : "integer",
            "format" : "int32"
          },
          "dossierreportCacheSize" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ServerCacheInfo" : {
        "type" : "object",
        "properties" : {
          "cacheId" : {
            "type" : "string"
          },
          "cacheLocation" : {
            "type" : "string"
          },
          "chapter" : {
            "type" : "string"
          },
          "contentId" : {
            "type" : "string"
          },
          "contentName" : {
            "type" : "string"
          },
          "contentType" : {
            "type" : "string",
            "enum" : [ "report", "document", "dossier", "docdossier", "docreport" ]
          },
          "createTime" : {
            "type" : "string"
          },
          "dataLanguage" : {
            "type" : "string"
          },
          "databaseConnection" : {
            "type" : "string"
          },
          "databaseLogin" : {
            "type" : "string"
          },
          "expirationTime" : {
            "type" : "string"
          },
          "format" : {
            "type" : "string",
            "enum" : [ "excel", "pdf", "csv", "html", "xml", "plain_text", "binary_definition", "binary_data", "html5", "flash", "transaction", "" ]
          },
          "groupBy" : {
            "type" : "string"
          },
          "hitCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "host" : {
            "type" : "string"
          },
          "lastHitTime" : {
            "type" : "string"
          },
          "lastLoadTime" : {
            "type" : "string"
          },
          "lastUpdated" : {
            "type" : "string"
          },
          "metadataLanguage" : {
            "type" : "string"
          },
          "owner" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "projectName" : {
            "type" : "string"
          },
          "promptAnswer" : {
            "type" : "string"
          },
          "reportCachesUsed" : {
            "type" : "string"
          },
          "securityFilterId" : {
            "type" : "string"
          },
          "size" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "warehouseTablesUsed" : {
            "type" : "string"
          },
          "dbTablesUsed" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "cubeInstanceId" : {
            "type" : "string"
          },
          "XMLContent" : {
            "type" : "string"
          }
        }
      },
      "ServerCachesInfo" : {
        "type" : "object",
        "properties" : {
          "caches" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/ServerCacheInfo"
              }
            }
          },
          "counters" : {
            "$ref" : "#/components/schemas/ServerCacheCountersInfo"
          }
        }
      },
      "DrillCreation" : {
        "required" : [ "drillOption", "drillPathKey" ],
        "type" : "object",
        "properties" : {
          "drillPathKey" : {
            "type" : "string",
            "description" : "String tokens used to generate XML for drill. Generated by server. <br/>Ex: index.DrillParameter.AxisName.UnitPosition.MetricIndex/*-1.NodeKey.TreeType"
          },
          "elementList" : {
            "type" : "string",
            "description" : "Alternative to elementIDs, provide cell information by its coordinates when drilling from element or metric value. <br/>axis + A + position + A + ordinal. Cells separated by comma. Ex: '1A1A0, 1A1A1'"
          },
          "elementIds" : {
            "type" : "array",
            "description" : "Alternative to elementList, provide cell information by its ID when drilling from element or metric value. <br/>axis + \u001E + element ID. Ex: [1\u001EBB:XXX, `\u001EBB:XXX]",
            "items" : {
              "type" : "string",
              "description" : "Alternative to elementList, provide cell information by its ID when drilling from element or metric value. <br/>axis + \u001E + element ID. Ex: [1\u001EBB:XXX, `\u001EBB:XXX]"
            }
          },
          "retainParent" : {
            "type" : "string",
            "description" : "Flag to determine if we should keep origin object when drilling. <br/>Pass \"1\" to keep origin/parent after drill, \"2\" to not keep them, and empty string/null for default behavior"
          },
          "keepThreshold" : {
            "type" : "string",
            "description" : "Flag to determine if thresholds should be kept after drilling out. <br/>Pass \"1\" to pass keep thresholds after drill, \"2\" to not keep them, and empty string/null for default behavior"
          },
          "keepPageBy" : {
            "type" : "string",
            "description" : "Flag to determine if we should pass the current page by selections with filters. <br/>Pass \"1\" to keep current page by selections, \"2\" to not keep them, and empty string/null for default behavior"
          },
          "inheritSubtotals" : {
            "type" : "string",
            "description" : "Flag to determine if subtotals should be kept after drilling. <br/>Pass \"1\" to keep subtotals after drill, \"2\" to not keep them, and empty string/null for default behavior"
          },
          "drillOption" : {
            "type" : "integer",
            "description" : "Flag to determine type of drill out to execute, based on EnumDSSXMLDrillOption",
            "format" : "int32"
          }
        }
      },
      "ExcelExportHeaderForReport" : {
        "type" : "object",
        "properties" : {
          "exportReportTitle" : {
            "type" : "boolean",
            "description" : "Whether to export report title"
          },
          "exportFilterDetails" : {
            "type" : "boolean",
            "description" : "Whether to export filter details"
          },
          "exportPageByInfo" : {
            "type" : "boolean",
            "description" : "Whether to export page-by information"
          }
        },
        "description" : "Specifies whether to export header"
      },
      "ExcelExportOptionsForReport" : {
        "required" : [ "sheet" ],
        "type" : "object",
        "properties" : {
          "sheet" : {
            "$ref" : "#/components/schemas/ExcelSheetForReport"
          },
          "pageBy" : {
            "$ref" : "#/components/schemas/ExcelPageByExportOptionsForReport"
          }
        }
      },
      "ExcelPageByExportOptionsForReport" : {
        "type" : "object",
        "properties" : {
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "enum" : [ "DEFAULT", "ALL", "CURRENT_PAGE", "CURRENT_WINDOW" ]
          },
          "exportPagePerSheet" : {
            "type" : "boolean",
            "description" : "Whether to export page-by on separate worksheets"
          }
        },
        "description" : "Specifies page-by export options"
      },
      "ExcelSheetForReport" : {
        "required" : [ "header" ],
        "type" : "object",
        "properties" : {
          "header" : {
            "$ref" : "#/components/schemas/ExcelExportHeaderForReport"
          }
        },
        "description" : "The settings of Excel sheet"
      },
      "PairId" : {
        "type" : "object",
        "properties" : {
          "sourceId" : {
            "type" : "string",
            "description" : "Source id of the object"
          },
          "targetId" : {
            "type" : "string",
            "description" : "Target id of the object"
          }
        },
        "description" : "Existing and target metric id"
      },
      "ReportReplaceObjectsInfo" : {
        "required" : [ "source" ],
        "type" : "object",
        "properties" : {
          "source" : {
            "$ref" : "#/components/schemas/PairId"
          },
          "replacedTemplateUnits" : {
            "type" : "array",
            "description" : "Existing and target object id and type",
            "items" : {
              "$ref" : "#/components/schemas/SourceAndTargetInfo"
            }
          },
          "replacedMetrics" : {
            "type" : "array",
            "description" : "Existing and target metric id",
            "items" : {
              "$ref" : "#/components/schemas/PairId"
            }
          },
          "removedObjects" : {
            "type" : "array",
            "description" : "Objects which want to remove in target report",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          }
        }
      },
      "SourceAndTargetInfo" : {
        "type" : "object",
        "properties" : {
          "sourceId" : {
            "type" : "string",
            "description" : "Source id of the object"
          },
          "targetId" : {
            "type" : "string",
            "description" : "Target id of the object"
          },
          "sourceType" : {
            "type" : "string",
            "description" : "Source type of the object",
            "enum" : [ "attribute", "customgroup", "consolidation" ]
          },
          "targetType" : {
            "type" : "string",
            "description" : "Target type of the object",
            "enum" : [ "attribute", "customgroup", "consolidation" ]
          }
        },
        "description" : "Existing and target object id and type"
      },
      "ObjectIdAndInstanceId" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Object ID"
          }
        }
      },
      "ReportSaveInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Object ID of the folder where the report should be saved"
          },
          "saveMode" : {
            "type" : "string",
            "description" : "Save Mode",
            "enum" : [ "NONE", "OVERWRITE" ]
          },
          "displayMode" : {
            "type" : "string",
            "description" : "Display Mode",
            "enum" : [ "GRID", "HYPER_CARD" ]
          },
          "promptOption" : {
            "type" : "string",
            "description" : "Save Prompt Option",
            "enum" : [ "static", "onlyFilter", "onlyTemplate", "filterAndTemplate" ]
          },
          "setCurrentAsDefaultAnswer" : {
            "type" : "boolean",
            "description" : "Set Current answer as the default answer or not"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance ID"
          }
        }
      },
      "CollaborationConnectionTest" : {
        "type" : "object",
        "properties" : {
          "tlsEnabled" : {
            "type" : "boolean",
            "description" : "Specifies whether to enable/disable TLS secure communication. Enabling TLS requires configuring trust store settings on the server"
          },
          "baseURL" : {
            "type" : "string",
            "description" : "Base URL for Collaboration Server"
          },
          "keyStoreEnabled" : {
            "type" : "boolean"
          }
        }
      },
      "IServerConnectionTest" : {
        "type" : "object",
        "properties" : {
          "port" : {
            "type" : "integer",
            "description" : " Intelligence Server port",
            "format" : "int32"
          },
          "testType" : {
            "type" : "string",
            "description" : "Test with specified protocol(TLS, TCP) or configuration setting(CONFIG)",
            "default" : "config",
            "enum" : [ "tls", "tcp", "config" ]
          },
          "hostname" : {
            "type" : "string",
            "description" : "Intelligence Server hostname"
          }
        }
      },
      "IServerNodeProperties" : {
        "required" : [ "initialPoolSize", "loadBalanceFactor", "maxPoolSize" ],
        "type" : "object",
        "properties" : {
          "loadBalanceFactor" : {
            "type" : "integer",
            "description" : "This setting becomes relevant in an environment that has a MicroStrategy Intelligence Server cluster. By default, the load balance factor is 1. The value can be increased on more powerful servers in a cluster to provide an appropriate balance. A larger load balance factor means the current server consumes a greater load in the server cluster in which it resides.",
            "format" : "int32"
          },
          "initialPoolSize" : {
            "maximum" : 1024,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Initial number of connections available",
            "format" : "int32"
          },
          "maxPoolSize" : {
            "maximum" : 1024,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Maximum number of connections available",
            "format" : "int32"
          }
        }
      },
      "RuntimeDetailInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "whitelist" : {
            "type" : "array",
            "description" : "the whitelist for network policy",
            "items" : {
              "type" : "string",
              "description" : "the whitelist for network policy"
            }
          },
          "packages" : {
            "type" : "array",
            "description" : "packages to install",
            "items" : {
              "$ref" : "#/components/schemas/RuntimePackageInfo"
            }
          },
          "resource" : {
            "$ref" : "#/components/schemas/RuntimeResource"
          },
          "runtimeVersion" : {
            "type" : "string",
            "description" : "version"
          },
          "execTimeout" : {
            "type" : "integer",
            "description" : "script execution timeout",
            "format" : "int32"
          },
          "others" : {
            "type" : "string",
            "description" : "other configuration"
          },
          "status" : {
            "type" : "string",
            "description" : "status",
            "enum" : [ "unknown", "busy", "ready", "error" ]
          },
          "minCachedInstances" : {
            "type" : "integer",
            "description" : "minimal number of idle instances to cache",
            "format" : "int32"
          },
          "maxCachedInstances" : {
            "type" : "integer",
            "description" : "maximal number of idle instances to cache",
            "format" : "int32"
          }
        }
      },
      "RuntimePackageInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "the package name"
          },
          "version" : {
            "type" : "string",
            "description" : "the package version",
            "example" : "latest"
          },
          "description" : {
            "type" : "string",
            "description" : "the package description"
          },
          "status" : {
            "type" : "string",
            "description" : "status",
            "enum" : [ "unknown", "installing", "installed", "not_installed" ]
          },
          "message" : {
            "type" : "string",
            "description" : "failed with error message"
          }
        },
        "description" : "packages to install"
      },
      "RuntimeResource" : {
        "type" : "object",
        "properties" : {
          "cpu" : {
            "type" : "string",
            "description" : "cpu",
            "example" : "0.2"
          },
          "mem" : {
            "type" : "integer",
            "description" : "memory (Mi)",
            "format" : "int32",
            "example" : 512
          }
        },
        "description" : "resource limit"
      },
      "RuntimePackage" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "the package name"
          },
          "version" : {
            "type" : "string",
            "description" : "the package version",
            "example" : "latest"
          },
          "description" : {
            "type" : "string",
            "description" : "the package description"
          }
        },
        "description" : "packages to install"
      },
      "RuntimeRequestInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "the description"
          },
          "whitelist" : {
            "type" : "array",
            "description" : "the whitelist for network policy",
            "example" : [ "10.10.10.0/24" ],
            "items" : {
              "type" : "string",
              "description" : "the whitelist for network policy",
              "example" : "[\"10.10.10.0/24\"]"
            }
          },
          "packages" : {
            "type" : "array",
            "description" : "packages to install",
            "items" : {
              "$ref" : "#/components/schemas/RuntimePackage"
            }
          },
          "resource" : {
            "$ref" : "#/components/schemas/RuntimeResource"
          },
          "execTimeout" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "script execution timeout",
            "format" : "int32",
            "example" : 600
          },
          "minCachedInstances" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "minimal number of idle instances to cache",
            "format" : "int32",
            "example" : 0
          },
          "maxCachedInstances" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "maximal number of idle instances to cache",
            "format" : "int32",
            "example" : 5
          },
          "runtimeVersion" : {
            "type" : "string",
            "description" : "version"
          },
          "others" : {
            "type" : "string",
            "description" : "other configuration"
          }
        }
      },
      "RuntimeVersions" : {
        "type" : "object",
        "properties" : {
          "versions" : {
            "type" : "array",
            "description" : "Available runtime versions",
            "example" : [ "3.9.6" ],
            "items" : {
              "type" : "string",
              "description" : "Available runtime versions",
              "example" : "[\"3.9.6\"]"
            }
          }
        }
      },
      "RuntimeDetailInfos" : {
        "type" : "object",
        "properties" : {
          "runtimes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/RuntimeDetailInfo"
            }
          }
        }
      },
      "ScheduleEventProperties" : {
        "required" : [ "eventId" ],
        "type" : "object",
        "properties" : {
          "eventId" : {
            "type" : "string",
            "description" : "Identifier of the event"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the event",
            "readOnly" : true
          }
        },
        "description" : "Details of event-based schedule"
      },
      "ScheduleExecution" : {
        "required" : [ "executionPattern" ],
        "type" : "object",
        "properties" : {
          "executionPattern" : {
            "type" : "string",
            "description" : "The execution pattern of the schedule",
            "example" : "once",
            "enum" : [ "once", "repeat" ]
          },
          "executionTime" : {
            "type" : "string",
            "description" : "The execution time of the execution day, if executionPattern is once. Format should be HH:mm:ss"
          },
          "startTime" : {
            "type" : "string",
            "description" : "The start time of the execution day, if executionPattern is repeat. Format should be HH:mm:ss"
          },
          "stopTime" : {
            "type" : "string",
            "description" : "The stop time of the execution day, if executionPattern is repeat. Format should be HH:mm:ss"
          },
          "repeatInterval" : {
            "type" : "integer",
            "description" : "The repeat interval of minutes of the execution day, if executionPattern is repeat",
            "format" : "int32"
          }
        },
        "description" : "The execution information of the schedule"
      },
      "ScheduleTimeDaily" : {
        "required" : [ "dailyPattern" ],
        "type" : "object",
        "properties" : {
          "dailyPattern" : {
            "type" : "string",
            "description" : "The daily recurrence pattern of the schedule",
            "example" : "day",
            "enum" : [ "day", "weekday" ]
          },
          "repeatInterval" : {
            "type" : "integer",
            "description" : "The repeat interval of days of daily schedule, if dailyPattern is day",
            "format" : "int32"
          }
        },
        "description" : "Daily recurrence information of the schedule"
      },
      "ScheduleTimeMonthly" : {
        "required" : [ "monthlyPattern", "repeatInterval" ],
        "type" : "object",
        "properties" : {
          "monthlyPattern" : {
            "type" : "string",
            "description" : "The monthly recurrence pattern of the schedule",
            "example" : "day",
            "enum" : [ "day", "day_of_week", "weekday", "last_day", "days_of_month" ]
          },
          "repeatInterval" : {
            "type" : "integer",
            "description" : "The repeat interval of months of monthly schedule",
            "format" : "int32"
          },
          "day" : {
            "type" : "integer",
            "description" : "The day in month of monthly schedule, if monthlyPattern is day",
            "format" : "int32"
          },
          "weekOffset" : {
            "type" : "string",
            "description" : "The week offset in month of monthly schedule, if monthlyPattern is day_of_week",
            "enum" : [ "first", "second", "third", "fourth", "last" ]
          },
          "dayOfWeek" : {
            "type" : "string",
            "description" : "The day of week in month of monthly schedule, if monthlyPattern is day_of_week",
            "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ]
          },
          "weekdayOffset" : {
            "type" : "string",
            "description" : "The weekday offset in month of monthly schedule, if monthlyPattern is weekday",
            "enum" : [ "first", "last" ]
          },
          "daysOfMonth" : {
            "type" : "array",
            "description" : "The days of month of monthly schedule, if monthlyPattern is days_of_month",
            "items" : {
              "type" : "string",
              "description" : "The days of month of monthly schedule, if monthlyPattern is days_of_month",
              "enum" : [ "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" ]
            }
          }
        },
        "description" : "Monthly recurrence information of the schedule"
      },
      "ScheduleTimeProperties" : {
        "required" : [ "execution", "recurrencePattern" ],
        "type" : "object",
        "properties" : {
          "recurrencePattern" : {
            "type" : "string",
            "description" : "The recurrence pattern of the schedule",
            "example" : "daily",
            "enum" : [ "daily", "weekly", "monthly", "yearly", "undefined" ]
          },
          "execution" : {
            "$ref" : "#/components/schemas/ScheduleExecution"
          },
          "daily" : {
            "$ref" : "#/components/schemas/ScheduleTimeDaily"
          },
          "weekly" : {
            "$ref" : "#/components/schemas/ScheduleTimeWeekly"
          },
          "monthly" : {
            "$ref" : "#/components/schemas/ScheduleTimeMonthly"
          },
          "yearly" : {
            "$ref" : "#/components/schemas/ScheduleTimeYearly"
          }
        },
        "description" : "Details of time-based schedule"
      },
      "ScheduleTimeWeekly" : {
        "required" : [ "daysOfWeek", "repeatInterval" ],
        "type" : "object",
        "properties" : {
          "repeatInterval" : {
            "type" : "integer",
            "description" : "The repeat interval of weeks of weekly schedule",
            "format" : "int32"
          },
          "daysOfWeek" : {
            "type" : "array",
            "description" : "The days of week of weekly schedule",
            "items" : {
              "type" : "string",
              "description" : "The days of week of weekly schedule",
              "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ]
            }
          }
        },
        "description" : "Weekly recurrence information of the schedule"
      },
      "ScheduleTimeYearly" : {
        "required" : [ "month", "yearlyPattern" ],
        "type" : "object",
        "properties" : {
          "yearlyPattern" : {
            "type" : "string",
            "description" : "The yearly recurrence pattern of the schedule",
            "example" : "day",
            "enum" : [ "day", "day_of_week" ]
          },
          "month" : {
            "type" : "integer",
            "description" : "The month in year of yearly schedule",
            "format" : "int32"
          },
          "day" : {
            "type" : "integer",
            "description" : "The day in month of yearly schedule, if yearlyPattern is day",
            "format" : "int32"
          },
          "weekOffset" : {
            "type" : "string",
            "description" : "The week offset in year of yearly schedule, if yearlyPattern is day_of_week",
            "enum" : [ "first", "second", "third", "fourth", "last" ]
          },
          "dayOfWeek" : {
            "type" : "string",
            "description" : "The day of week in year of yearly schedule, if yearlyPattern is day_of_week",
            "enum" : [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ]
          }
        },
        "description" : "Yearly recurrence information of the schedule"
      },
      "ScheduleV2" : {
        "required" : [ "name", "scheduleType", "startDate" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Schedule name",
            "example" : "New schedule"
          },
          "id" : {
            "type" : "string",
            "description" : "Schedule ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Brief description of the schedule"
          },
          "scheduleType" : {
            "type" : "string",
            "description" : "Type of the schedule. It is either \"time_based\" or \"event_based\".",
            "enum" : [ "event_based", "time_based", "unknown" ]
          },
          "scheduleNextDelivery" : {
            "type" : "string",
            "description" : "Next occurrence of a time-based schedule, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "startDate" : {
            "type" : "string",
            "description" : "Start date of the schedule, format should be yyyy-MM-dd",
            "format" : "date",
            "example" : "2020-12-31"
          },
          "stopDate" : {
            "type" : "string",
            "description" : "Stop date of the schedule, format should be yyyy-MM-dd",
            "format" : "date",
            "example" : "2020-12-31"
          },
          "event" : {
            "$ref" : "#/components/schemas/ScheduleEventProperties"
          },
          "time" : {
            "$ref" : "#/components/schemas/ScheduleTimeProperties"
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Specifies whether the schedule has expired",
            "readOnly" : true,
            "default" : false
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone of a time based schedule. If not set, will use server timezone."
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether this schedule is a hidden object",
            "readOnly" : true,
            "default" : false
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the schedule, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the schedule, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/Owner"
          },
          "tenant" : {
            "$ref" : "#/components/schemas/TenantInfo"
          }
        },
        "description" : "List of schedules, able to show hidden objects"
      },
      "Schedule" : {
        "required" : [ "name", "scheduleType", "startDate" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Schedule name",
            "example" : "New schedule"
          },
          "id" : {
            "type" : "string",
            "description" : "Schedule ID",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Brief description of the schedule"
          },
          "scheduleType" : {
            "type" : "string",
            "description" : "Type of the schedule. It is either \"time_based\" or \"event_based\".",
            "enum" : [ "event_based", "time_based", "unknown" ]
          },
          "scheduleNextDelivery" : {
            "type" : "string",
            "description" : "Next occurrence of a time-based schedule, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "startDate" : {
            "type" : "string",
            "description" : "Start date of the schedule, format should be yyyy-MM-dd",
            "format" : "date",
            "example" : "2020-12-31"
          },
          "stopDate" : {
            "type" : "string",
            "description" : "Stop date of the schedule, format should be yyyy-MM-dd",
            "format" : "date",
            "example" : "2020-12-31"
          },
          "event" : {
            "$ref" : "#/components/schemas/ScheduleEventProperties"
          },
          "time" : {
            "$ref" : "#/components/schemas/ScheduleTimeProperties"
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Specifies whether the schedule has expired",
            "readOnly" : true,
            "default" : false
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "timezone" : {
            "type" : "string",
            "description" : "Timezone of a time based schedule. If not set, will use server timezone."
          }
        },
        "description" : "Schedule"
      },
      "Schedules" : {
        "type" : "object",
        "properties" : {
          "schedules" : {
            "type" : "array",
            "description" : "List of schedules",
            "items" : {
              "$ref" : "#/components/schemas/Schedule"
            }
          }
        }
      },
      "SimpleSchedule" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the Schedule"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the Schedule",
            "readOnly" : true
          },
          "scheduleType" : {
            "type" : "string",
            "description" : "Type of the schedule. It is either \"time_based\" or \"event_based\".",
            "enum" : [ "event_based", "time_based", "unknown" ]
          },
          "expired" : {
            "type" : "boolean",
            "description" : "Specifies whether the schedule has expired"
          }
        },
        "description" : "List of schedules with essential information"
      },
      "SimpleSchedules" : {
        "type" : "object",
        "properties" : {
          "schedules" : {
            "type" : "array",
            "description" : "List of schedules with essential information",
            "items" : {
              "$ref" : "#/components/schemas/SimpleSchedule"
            }
          }
        }
      },
      "SimpleContentInfo" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The identifier of the content"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of content",
            "enum" : [ "report", "document", "cube", "data_model", "dossier", "unsupported" ]
          },
          "projectId" : {
            "type" : "string",
            "description" : "The project ID of the content"
          }
        },
        "description" : "List of contents with their type"
      },
      "SimpleContentInfos" : {
        "type" : "object",
        "properties" : {
          "contents" : {
            "type" : "array",
            "description" : "List of contents with their type",
            "items" : {
              "$ref" : "#/components/schemas/SimpleContentInfo"
            }
          }
        }
      },
      "FolderInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          }
        }
      },
      "FolderListDto" : {
        "type" : "object",
        "properties" : {
          "folders" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FolderInfo"
            }
          }
        }
      },
      "PatchOperationsScopeFilterPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ScopeFilterPatchOperation"
            }
          }
        }
      },
      "ScopeFilterPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Use addElement, replace or removeElement operation to be performed",
            "example" : "addElements",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/folders",
            "enum" : [ "/folders" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : [ "D09773F94699124B4D75B48F1B358327", "54F3D26011D2896560009A8E67019608" ]
          }
        }
      },
      "ScriptFunctionObjectInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "functionType" : {
            "type" : "integer",
            "description" : "Function type value. Possible values can be found in [EnumDSSXMLFunction](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLFunction.html)",
            "format" : "int32"
          },
          "sqlType" : {
            "type" : "integer",
            "description" : "SQL type of the function. Possible values can be found in [EnumDSSXMLSQLType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSQLType.html)",
            "format" : "int32"
          },
          "parameters" : {
            "type" : "array",
            "description" : "List of input parameters for the function",
            "items" : {
              "$ref" : "#/components/schemas/ScriptFunctionParameterInfo"
            }
          },
          "dbOnly" : {
            "type" : "boolean",
            "description" : "Indicates if the function is available only in the database and not in the analytical engine"
          },
          "prefix" : {
            "type" : "boolean",
            "description" : "Indicates if the function represents a prefix operator"
          },
          "orderSignificant" : {
            "type" : "boolean",
            "description" : "Indicates if the function order is significant"
          },
          "repeatedParametersCount" : {
            "type" : "integer",
            "description" : "Number of repeated parameters",
            "format" : "int32"
          },
          "properties" : {
            "type" : "array",
            "description" : "List of function properties",
            "items" : {
              "$ref" : "#/components/schemas/ScriptFunctionPropertyInfo"
            }
          },
          "example" : {
            "type" : "string",
            "description" : "Example of the function"
          }
        },
        "description" : "Script Function Object Information"
      },
      "ScriptFunctionParameterInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Parameter name"
          },
          "description" : {
            "type" : "string",
            "description" : "Parameter description"
          },
          "type" : {
            "type" : "integer",
            "description" : "Parameter type",
            "format" : "int32"
          },
          "dataType" : {
            "type" : "integer",
            "description" : "Parameter data type",
            "format" : "int32"
          }
        },
        "description" : "Script Function Parameter Information"
      },
      "ScriptFunctionPropertyInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Property name"
          },
          "description" : {
            "type" : "string",
            "description" : "Property description"
          },
          "dataType" : {
            "type" : "integer",
            "description" : "Property data type from EnumVariantTypes",
            "format" : "int32"
          },
          "defaultValue" : {
            "type" : "string",
            "description" : "Property default value"
          }
        },
        "description" : "Script Function Property Information"
      },
      "ScriptFunctionsInfo" : {
        "title" : "Script Functions Info",
        "required" : [ "result", "totalItems" ],
        "type" : "object",
        "properties" : {
          "totalItems" : {
            "type" : "integer",
            "description" : "Total number of items in results",
            "format" : "int32"
          },
          "result" : {
            "type" : "array",
            "description" : "List of script function objects",
            "items" : {
              "$ref" : "#/components/schemas/ScriptFunctionObjectInfo"
            }
          }
        },
        "description" : "Results of a script functions request containing function details."
      },
      "CommandManagerScript" : {
        "required" : [ "name", "objectAcl", "objectNames" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The object creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The object last updated time in UTC",
            "format" : "date-time"
          },
          "objectVersion" : {
            "type" : "string",
            "description" : "Object version ID"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner id"
          },
          "objectNames" : {
            "type" : "array",
            "description" : "Object names and descriptions with locale",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectNameAndDescriptionWithLocale"
            }
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "managed" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is managed"
          },
          "objectAcl" : {
            "type" : "array",
            "description" : "Object ACL which contains the access control entry",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectAccessControlEntry"
            }
          },
          "propertyGroups" : {
            "type" : "array",
            "description" : "Object property groups",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectPropertyGroup"
            }
          },
          "accessGranted" : {
            "type" : "integer",
            "description" : "Object access rights. It's a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "minver4write" : {
            "type" : "integer",
            "description" : "Specifies md min version for write",
            "format" : "int32"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID"
          },
          "tenantName" : {
            "type" : "string",
            "description" : "Tenant name"
          },
          "scriptContent" : {
            "type" : "string"
          },
          "scriptType" : {
            "type" : "string",
            "enum" : [ "reserved", "python", "jupyterNotebook" ]
          },
          "scriptRuntimeId" : {
            "type" : "string"
          },
          "variables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectScriptVariable"
            }
          },
          "scriptResultType" : {
            "type" : "string",
            "enum" : [ "unknown", "reserved", "text", "numerical", "date" ]
          },
          "scriptUsageType" : {
            "type" : "string",
            "enum" : [ "commandManager", "dataSource", "transaction", "pythonSimpleFunction", "pythonAggFunction", "pythonRelativeFunction", "pythonNoSortAggFunction", "pythonNoSortRelativeFunction" ]
          },
          "dbRoleId" : {
            "type" : "string"
          }
        },
        "description" : "List of script objects"
      },
      "LeanObjectScriptVariable" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "0", "1", "2", "3", "4", "5", "4106", "32769" ]
          },
          "value" : {
            "type" : "string"
          },
          "secretValueUpdated" : {
            "type" : "boolean"
          },
          "desc" : {
            "type" : "string"
          },
          "multiple" : {
            "type" : "boolean"
          },
          "prompt" : {
            "type" : "boolean"
          },
          "transactionColumn" : {
            "type" : "boolean"
          },
          "nullable" : {
            "type" : "boolean"
          },
          "required" : {
            "type" : "boolean"
          },
          "editable" : {
            "type" : "boolean"
          },
          "objectRef" : {
            "$ref" : "#/components/schemas/ObjectReference"
          }
        }
      },
      "ScriptsInfo" : {
        "title" : "Scripts Info",
        "required" : [ "result", "totalItems" ],
        "type" : "object",
        "properties" : {
          "totalItems" : {
            "type" : "integer",
            "description" : "Total number of items in results",
            "format" : "int32"
          },
          "result" : {
            "type" : "array",
            "description" : "List of script objects",
            "items" : {
              "$ref" : "#/components/schemas/CommandManagerScript"
            }
          }
        },
        "description" : "Results of a bulk script read request containing script details."
      },
      "ScriptConversionRequest" : {
        "required" : [ "cmdText" ],
        "type" : "object",
        "properties" : {
          "cmdText" : {
            "type" : "string",
            "description" : "Command Manager script text to convert"
          },
          "connectionMode" : {
            "type" : "string",
            "description" : "Optional conversion connection mode. Accepted values are case-insensitive and normalized by the service. Defaults to direct when omitted or blank.",
            "example" : "direct",
            "enum" : [ "direct", "workstation" ]
          }
        }
      },
      "CommandManagerScriptRequestInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Script description"
          },
          "scriptContent" : {
            "type" : "string",
            "description" : "Script content"
          },
          "scriptRuntimeId" : {
            "type" : "string",
            "description" : "Script runtime id"
          },
          "variables" : {
            "type" : "array",
            "description" : "Script variables",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariable"
            }
          },
          "scriptType" : {
            "type" : "string",
            "description" : "Script type",
            "enum" : [ "reserved", "python", "jupyterNotebook" ]
          },
          "folderId" : {
            "type" : "string",
            "description" : "Script stored folder id"
          },
          "scriptUsageType" : {
            "type" : "string",
            "description" : "Script usage type",
            "enum" : [ "commandManager", "dataSource", "transaction", "pythonSimpleFunction", "pythonAggFunction", "pythonRelativeFunction", "pythonNoSortAggFunction", "pythonNoSortRelativeFunction" ]
          },
          "scriptResultType" : {
            "type" : "string",
            "description" : "Script result type",
            "default" : "reserved",
            "enum" : [ "unknown", "reserved", "text", "numerical", "date" ]
          }
        }
      },
      "ScriptEvaluationInfo" : {
        "required" : [ "scriptContent" ],
        "type" : "object",
        "properties" : {
          "scriptId" : {
            "type" : "string",
            "description" : "script id"
          },
          "scriptRuntimeId" : {
            "type" : "string",
            "description" : "specify the runtime to run the script",
            "example" : "0F35652CA7D041978BF0CBCB67531203"
          },
          "scriptContent" : {
            "type" : "string",
            "description" : "the script to be executed, it should be base64 encoded",
            "example" : "cmV0dXJuIDErMQ=="
          },
          "variables" : {
            "type" : "array",
            "description" : "script variables",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariable"
            }
          }
        }
      },
      "SavedScriptEvaluationInfo" : {
        "type" : "object",
        "properties" : {
          "variables" : {
            "type" : "array",
            "description" : "variables",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariableIdAndValue"
            }
          }
        }
      },
      "ScriptVariableIdAndValue" : {
        "required" : [ "id", "value" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "variable id"
          },
          "value" : {
            "type" : "string",
            "description" : "variable value"
          },
          "secretValueInput" : {
            "type" : "boolean",
            "description" : "whether the secret value is updated",
            "default" : false
          }
        },
        "description" : "variable answers"
      },
      "Result" : {
        "type" : "object",
        "properties" : {
          "output" : {
            "type" : "string",
            "description" : "script return value"
          },
          "stdout" : {
            "type" : "string",
            "description" : "standard output stream"
          },
          "stderr" : {
            "type" : "string",
            "description" : "standard error stream"
          }
        },
        "description" : "script evaluation result"
      },
      "ScriptEvaluationResult" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "description" : "the evaluation status",
            "format" : "int32"
          },
          "message" : {
            "type" : "string",
            "description" : "the error message"
          },
          "results" : {
            "$ref" : "#/components/schemas/Result"
          }
        }
      },
      "ScriptExecutionDetail" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Script ID"
          },
          "executionTime" : {
            "type" : "string",
            "description" : "Last execution time"
          },
          "lastStatus" : {
            "type" : "string",
            "description" : "Status",
            "enum" : [ "succeeded", "failed", "cancelled" ]
          },
          "log" : {
            "type" : "string",
            "description" : "Scripts evaluation log"
          }
        },
        "description" : "script evaluation history"
      },
      "ScriptExecutionHistory" : {
        "type" : "object",
        "properties" : {
          "history" : {
            "type" : "array",
            "description" : "script evaluation history",
            "items" : {
              "$ref" : "#/components/schemas/ScriptExecutionDetail"
            }
          }
        }
      },
      "ScriptVariableAnswers" : {
        "type" : "object",
        "properties" : {
          "answers" : {
            "type" : "array",
            "description" : "variable answers",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariable"
            }
          }
        }
      },
      "ScriptVariableSimpleAnswers" : {
        "type" : "object",
        "properties" : {
          "answers" : {
            "type" : "array",
            "description" : "variable answers",
            "items" : {
              "$ref" : "#/components/schemas/ScriptVariableIdAndValue"
            }
          }
        }
      },
      "SearchEngine" : {
        "type" : "object",
        "properties" : {
          "enableSearchEngine" : {
            "type" : "boolean",
            "description" : "Whether the search engine is enabled. Currently disable search engine is not supported.",
            "default" : true
          },
          "indexDirectory" : {
            "type" : "string",
            "description" : "The index directory",
            "example" : ".\\SearchData"
          },
          "stopWords" : {
            "type" : "array",
            "description" : "Stop words",
            "items" : {
              "$ref" : "#/components/schemas/StopWord"
            }
          }
        }
      },
      "StopWord" : {
        "type" : "object",
        "properties" : {
          "words" : {
            "type" : "string",
            "description" : "The list of words (separated by space) that should be excluded from the search, for example common words such as pronouns and prepositions."
          },
          "locale" : {
            "type" : "integer",
            "description" : "The locale id",
            "format" : "int32",
            "example" : 1033
          }
        },
        "description" : "Stop words"
      },
      "SearchIndex" : {
        "type" : "object",
        "properties" : {
          "projectName" : {
            "type" : "string",
            "description" : "Project Name",
            "readOnly" : true
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID",
            "readOnly" : true
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD Tenant ID",
            "readOnly" : true
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD Tenant Name",
            "readOnly" : true
          },
          "status" : {
            "type" : "string",
            "description" : "The search index status",
            "readOnly" : true,
            "enum" : [ "no_index", "crawling", "paused", "completed_on", "completed_off", "pending" ]
          },
          "percentComplete" : {
            "type" : "number",
            "description" : "Percent of objects already crawled",
            "format" : "double",
            "readOnly" : true
          },
          "searchableItems" : {
            "type" : "integer",
            "description" : "Number of objects already crawled",
            "format" : "int32",
            "readOnly" : true
          },
          "lastRealTimeUpdateTime" : {
            "type" : "string",
            "description" : "Last real time update time",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastIncrementalCrawlTime" : {
            "type" : "string",
            "description" : "Last incremental crawl time",
            "format" : "date-time",
            "readOnly" : true
          },
          "machineName" : {
            "type" : "string",
            "description" : "Machine Name",
            "readOnly" : true
          },
          "telemetryIndexState" : {
            "type" : "integer",
            "description" : "Telemetry Index State",
            "format" : "int32",
            "readOnly" : true
          },
          "telemetryDataTimestamp" : {
            "type" : "string",
            "description" : "Telemetry Data Timestamp",
            "format" : "date-time",
            "readOnly" : true
          },
          "telemetryCrawlLastFailMessage" : {
            "type" : "string",
            "description" : "Telemetry Crawl Last Fail Message",
            "readOnly" : true
          }
        },
        "description" : "List of search indices"
      },
      "SearchIndices" : {
        "type" : "object",
        "properties" : {
          "searchIndices" : {
            "type" : "array",
            "description" : "List of search indices",
            "items" : {
              "$ref" : "#/components/schemas/SearchIndex"
            }
          }
        }
      },
      "SearchIndicesRequest" : {
        "type" : "object",
        "properties" : {
          "projectIds" : {
            "type" : "array",
            "description" : "List of projects IDs which are used to get the search index properties.",
            "items" : {
              "type" : "string",
              "description" : "List of projects IDs which are used to get the search index properties."
            }
          }
        },
        "description" : "Request body for search indices API"
      },
      "SearchIndexOperation" : {
        "required" : [ "searchIndexAction" ],
        "type" : "object",
        "properties" : {
          "searchIndexAction" : {
            "type" : "string",
            "description" : "Search index operation. Current supported operation types: rebuild_index.",
            "default" : "rebuild_index"
          }
        }
      },
      "SearchObjectMember" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Id of the search object member"
          },
          "displayName" : {
            "type" : "string",
            "description" : "Display name of the search object member"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the search object member",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          },
          "subtype" : {
            "type" : "string",
            "description" : "Subtype of the search object member",
            "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
          }
        },
        "description" : "List of SearchObjectMember objects that contain this object."
      },
      "SearchObjectRequest" : {
        "required" : [ "location", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the search object"
          },
          "location" : {
            "type" : "string",
            "description" : "The location the search object will be saved in"
          },
          "nameQuery" : {
            "type" : "string",
            "description" : "The search query for the name property"
          },
          "descriptionQuery" : {
            "type" : "string",
            "description" : "The search query for the description property"
          },
          "root" : {
            "type" : "string",
            "description" : "Folder id. The search will be started in this folder."
          },
          "types" : {
            "type" : "array",
            "description" : "An array of the types of object to be searched",
            "items" : {
              "type" : "string",
              "description" : "An array of the types of object to be searched",
              "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
            }
          },
          "dateFilterType" : {
            "type" : "string",
            "description" : "Either \"CREATED\" or \"MODIFIED\", depending on the date filter type. Default Modified.",
            "enum" : [ "CREATED", "MODIFIED" ]
          },
          "timeRange" : {
            "$ref" : "#/components/schemas/TimeRange"
          },
          "visibility" : {
            "type" : "string",
            "description" : "Whether the search should include hidden objects",
            "enum" : [ "ALL", "VISIBLE" ]
          },
          "includeSubfolders" : {
            "type" : "boolean",
            "description" : "Whether the search should include subfolder of the search root"
          },
          "excludedFolders" : {
            "type" : "array",
            "description" : "List of folders excluded from the search",
            "items" : {
              "type" : "string",
              "description" : "List of folders excluded from the search"
            }
          },
          "ownerId" : {
            "type" : "string",
            "description" : "The id of the owner"
          },
          "localeId" : {
            "type" : "integer",
            "description" : "The target language of the search, LCID format",
            "format" : "int32"
          },
          "scope" : {
            "type" : "string",
            "description" : "Search scope: ROOTED | NOT_MANAGED_ONLY (default) | MANAGED_ONLY | ALL",
            "enum" : [ "ROOTED", "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL" ]
          },
          "extendedTypes" : {
            "type" : "array",
            "description" : "List of extendedTypes property",
            "items" : {
              "type" : "string",
              "description" : "List of extendedTypes property"
            }
          },
          "subtypes" : {
            "type" : "array",
            "description" : "An array of the subtypes of object to be searched",
            "items" : {
              "type" : "string",
              "description" : "An array of the subtypes of object to be searched",
              "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
            }
          },
          "uses" : {
            "type" : "string",
            "description" : "Name of the object type that the search results should use"
          },
          "usesRecursive" : {
            "type" : "boolean",
            "description" : "Flag indicating if the search uses recursive logic."
          },
          "usesOneOf" : {
            "type" : "boolean",
            "description" : "Flag indicating if the search uses 'one of' logic."
          },
          "notUses" : {
            "type" : "string",
            "description" : "Name of the object type that the search results should NOT use"
          },
          "usedBy" : {
            "type" : "string",
            "description" : "Name of the object type that the search results should be used by"
          },
          "usedByRecursive" : {
            "type" : "boolean",
            "description" : "Flag indicating if the search is used by recursive logic."
          },
          "usedByOneOf" : {
            "type" : "boolean",
            "description" : "Flag indicating if the search is used by 'one of' logic."
          },
          "notUsedBy" : {
            "type" : "string",
            "description" : "Name of the object type that the search results should NOT be used by"
          },
          "usesObject" : {
            "type" : "array",
            "description" : "List of SearchObjectMember objects that this object contains.",
            "items" : {
              "$ref" : "#/components/schemas/SearchObjectMember"
            }
          },
          "usedByObject" : {
            "type" : "array",
            "description" : "List of SearchObjectMember objects that contain this object.",
            "items" : {
              "$ref" : "#/components/schemas/SearchObjectMember"
            }
          },
          "matchExactName" : {
            "type" : "boolean",
            "description" : "Match exact name option"
          },
          "matchExactDescription" : {
            "type" : "boolean",
            "description" : "Match exact description option"
          }
        }
      },
      "TimeRange" : {
        "type" : "object",
        "properties" : {
          "beginTime" : {
            "type" : "string",
            "description" : "The objects creation or modification time range start. Must include endCreationTime property. Exclusive with sinceDays and sinceMonths. DateFormat ISO 8601: yyyy-mm-ddThh:mm:ss.000+0000",
            "format" : "date-time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "The objects creation or modification time range end. Must include beginCreationTime property. Exclusive with sinceDays and sinceMonths. DateFormat ISO 8601: yyyy-mm-ddThh:mm:ss.000+0000",
            "format" : "date-time"
          },
          "sinceDays" : {
            "type" : "integer",
            "description" : "How many days since searched objects were created / modified. Exclusive with beginTime, endTime and sinceMonths",
            "format" : "int32"
          },
          "sinceMonths" : {
            "type" : "integer",
            "description" : "How many months since searched objects were created / modified. Exclusive with beginTime, endTime and sinceDays",
            "format" : "int32"
          }
        },
        "description" : "Defines the time range for filtering search results based on object creation or modification dates. The time range can be specified by either providing a specific start and end date, or by indicating a relative number of days or months since the object was created or modified. Note that 'beginCreationTime' and 'endCreationTime' are used for absolute date ranges, while 'sinceDays' and 'sinceMonths' are used for relative date ranges. These sets of fields are mutually exclusive and cannot be used together."
      },
      "PatchOperationsSearchObjectPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SearchObjectPatchOperation"
            }
          }
        }
      },
      "SearchObjectPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy", "add", "remove", "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/descriptionQuery",
            "enum" : [ "/nameQuery", "/descriptionQuery", "/root", "/types", "/subtypes", "/dateFilterType", "/timeRange", "/visibility", "/includeSubfolders", "/ownerId", "/localeId", "/excludedFolders", "/scope", "/extendedTypes", "/uses", "/usesRecursive", "/usesOneOf", "/usedBy", "/usedByRecursive", "/usedByOneOf", "/notUsedBy", "/notUses", "/usesObject", "/usedByObject", "/matchExactName", "/matchExactDescription" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : false
          }
        }
      },
      "IconResult" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "icons" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "An array of search results, each containing a name and a list of associated icons"
      },
      "SearchIconResponse" : {
        "type" : "object",
        "properties" : {
          "contexts" : {
            "type" : "array",
            "description" : "An array of search results, each containing a name and a list of associated icons",
            "items" : {
              "$ref" : "#/components/schemas/IconResult"
            }
          }
        }
      },
      "QuickSearchRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Value the search pattern is set to, which will be applied to the names of object types being searched. For example, search for all report objects (type) whose name begins with (pattern) B (name)."
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32"
          },
          "types" : {
            "type" : "array",
            "description" : "Type of object to be searched, such as Folder, Attribute or User. Possible values are defined in [EnumDSSObjectType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). To specify multiple types in API explorer, simply specify them with newline delimiter.",
            "items" : {
              "type" : "integer",
              "description" : "Type of object to be searched, such as Folder, Attribute or User. Possible values are defined in [EnumDSSObjectType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html). To specify multiple types in API explorer, simply specify them with newline delimiter.",
              "format" : "int32"
            }
          },
          "viewMedias" : {
            "type" : "array",
            "description" : "ViewMedia of object to be searched, such as Dashboard(Dossier) or Document. Possible values are defined in [ViewMedia](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/ViewMedia.html). To specify multiple viewMedias in API explorer, simply specify them with newline delimiter.",
            "items" : {
              "type" : "integer",
              "description" : "ViewMedia of object to be searched, such as Dashboard(Dossier) or Document. Possible values are defined in [ViewMedia](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/ViewMedia.html). To specify multiple viewMedias in API explorer, simply specify them with newline delimiter.",
              "format" : "int32"
            }
          },
          "projectIds" : {
            "type" : "array",
            "description" : "Project IDs where the search will be performed. X-MSTR-ProjectID will be ignored and isCrossCluster will be regarded as true if the project IDs are specified.",
            "items" : {
              "type" : "string",
              "description" : "Project IDs where the search will be performed. X-MSTR-ProjectID will be ignored and isCrossCluster will be regarded as true if the project IDs are specified."
            }
          },
          "getAncestors" : {
            "type" : "boolean",
            "description" : "Specifies whether to return the list of ancestors for each object."
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32"
          },
          "certifiedStatus" : {
            "type" : "string",
            "description" : "Defines a search criteria based on the certified status of the object.",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Filter the result based on the 'hidden' field of objects. If not passed, no filtering is applied."
          },
          "extraFilter" : {
            "type" : "string",
            "description" : "Specifies the extra filter that match the search criteria. Possible values: ALL (default, return all results), ENABLED_ONLY (return only enabled users/groups), SUPPORTED_REPORTS_IN_LIBRARY_ONLY (return only reports supported in Library), DISABLED_ONLY (return only disabled users), LIBRARY_WEB_REPORT_ONLY(return only reports supported in Library Web) .",
            "enum" : [ "ALL", "ENABLED_ONLY", "SUPPORTED_REPORTS_IN_LIBRARY_ONLY", "DISABLED_ONLY", "LIBRARY_WEB_REPORT_ONLY" ]
          },
          "usesObjectId" : {
            "type" : "string",
            "description" : "Constrain the search to only return objects which use the given object."
          },
          "usesObjectProjectId" : {
            "type" : "string",
            "description" : "The project ID of the given object."
          },
          "usesObjectEmbedded" : {
            "type" : "boolean",
            "description" : "Whether the given object is embedded."
          },
          "roots" : {
            "type" : "array",
            "description" : "List of folder IDs of all the root folders where the search will be performed or excluded.",
            "items" : {
              "type" : "string",
              "description" : "List of folder IDs of all the root folders where the search will be performed or excluded."
            }
          },
          "ownerIds" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Set of owner IDs",
            "items" : {
              "type" : "string",
              "description" : "Set of owner IDs"
            }
          },
          "dbTypes" : {
            "type" : "array",
            "description" : "Types of Database to be searched, such as mysql, postgres, etc. Possible values are defined in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). To specify multiple db types in API explorer, simply specify them with newline delimiter.",
            "items" : {
              "type" : "integer",
              "description" : "Types of Database to be searched, such as mysql, postgres, etc. Possible values are defined in [EnumDSSXMLDatabaseType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLDatabaseType.html). To specify multiple db types in API explorer, simply specify them with newline delimiter.",
              "format" : "int32"
            }
          },
          "searchObjectIds" : {
            "type" : "array",
            "description" : "List of search object IDs to retrieve results from",
            "items" : {
              "type" : "string",
              "description" : "List of search object IDs to retrieve results from"
            }
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)"
          },
          "description" : {
            "type" : "string",
            "description" : "The description search query"
          },
          "beginModificationTime" : {
            "type" : "string",
            "description" : "Objects modification time range start in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS"
          },
          "endModificationTime" : {
            "type" : "string",
            "description" : "Objects modification time range end in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS"
          },
          "beginCreationTime" : {
            "type" : "string",
            "description" : "Objects creation time range start in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS"
          },
          "endCreationTime" : {
            "type" : "string",
            "description" : "Objects creation time range end in ISO8601 format: yyyy-MM-dd HH:mm:ss.SSS"
          },
          "sortFields" : {
            "type" : "string",
            "description" : "Specify the sorting order for search results. Use + for ascending or - for descending, followed by a case-sensitive field name. Separate multiple fields with a single space to define multi-level sorting. Available fields: name, modifyTime, createTime, ownerName, CertifyState, projectID, score. Example: \"+name -modifyTime\" (sort by name ascending, then modifyTime descending)."
          },
          "aiConsumable" : {
            "type" : "boolean",
            "description" : "Whether the object is ai consumable(certified)"
          },
          "cubeInstanceInfo" : {
            "type" : "boolean",
            "description" : "Whether to include cube instance information like cube status"
          },
          "extraSearchResultFields" : {
            "type" : "array",
            "description" : "Extra object info to be included in the search result. Possible values are components, embeddedObjects, resolvedSubtype, groups, ddaSubMode, popularity, userCount, executionCount and dependentCount",
            "items" : {
              "type" : "string",
              "description" : "Extra object info to be included in the search result. Possible values are components, embeddedObjects, resolvedSubtype, groups, ddaSubMode, popularity, userCount, executionCount and dependentCount"
            }
          },
          "resolveShortcut" : {
            "type" : "boolean",
            "description" : "Whether to resolve shortcuts in the search"
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "List of Integers used as cognitive search flags to control the search behavior. The 1st bit of the 1st flag is to filter on resolved subtype.",
            "items" : {
              "type" : "integer",
              "description" : "List of Integers used as cognitive search flags to control the search behavior. The 1st bit of the 1st flag is to filter on resolved subtype.",
              "format" : "int32"
            }
          },
          "subQueries" : {
            "type" : "array",
            "description" : "List of sub-queries used to support the main query, e.g. use the sub-query result as filter to search the main query.",
            "items" : {
              "$ref" : "#/components/schemas/QuickSearchRequest"
            }
          },
          "extendedTypes" : {
            "type" : "array",
            "description" : "Extended type of object to be searched.",
            "items" : {
              "type" : "integer",
              "description" : "Extended type of object to be searched.",
              "format" : "int32"
            }
          },
          "xdaTypes" : {
            "type" : "array",
            "description" : "XDA type of object to be searched.",
            "items" : {
              "type" : "integer",
              "description" : "XDA type of object to be searched.",
              "format" : "int32"
            }
          },
          "dbmsTypes" : {
            "type" : "array",
            "description" : "DBMS type of object to be searched.",
            "items" : {
              "type" : "integer",
              "description" : "DBMS type of object to be searched.",
              "format" : "int32"
            }
          },
          "mdTenantList" : {
            "type" : "array",
            "description" : "List of metadata tenant IDs to restrict the search within.",
            "items" : {
              "type" : "string",
              "description" : "List of metadata tenant IDs to restrict the search within."
            }
          },
          "skipACLs" : {
            "type" : "boolean",
            "description" : "Specifies if we should do calls to server to retrieve ACL data (used to check if object exists)"
          },
          "isCrossCluster" : {
            "type" : "boolean",
            "description" : "Perform search in all unique projects across the cluster, this parameter only takes affect for I-Server with cluster nodes."
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "NOT_MANAGED_AND_NOT_EMBEDDED",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        }
      },
      "ProjectAggregate" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "description" : "The count of objects",
            "format" : "int64"
          },
          "usedByObjectCounts" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/UsedByObjectCountAggregate"
            },
            "description" : "Object Aggregates"
          }
        },
        "description" : "Project Aggregate"
      },
      "SearchDependentCountResult" : {
        "title" : "Search dependent count result",
        "type" : "object",
        "properties" : {
          "projects" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ProjectAggregate"
            },
            "description" : "Project Aggregates"
          }
        },
        "description" : "Search dependent count result"
      },
      "TypeCountAggregate" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "description" : "The count of objects",
            "format" : "int64"
          }
        },
        "description" : "Type Aggregate"
      },
      "UsedByObjectCountAggregate" : {
        "type" : "object",
        "properties" : {
          "count" : {
            "type" : "integer",
            "description" : "The count of objects",
            "format" : "int64"
          },
          "typeCounts" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/TypeCountAggregate"
            },
            "description" : "Type Aggregates"
          }
        },
        "description" : "Object Aggregate"
      },
      "DependentCountParams" : {
        "required" : [ "usesOneOf" ],
        "type" : "object",
        "properties" : {
          "usesOneOf" : {
            "type" : "array",
            "description" : "IDs of the objects which are used by others, by providing this parameter, it will return the count of objects use each of them in the result.",
            "items" : {
              "type" : "string",
              "description" : "IDs of the objects which are used by others, by providing this parameter, it will return the count of objects use each of them in the result."
            }
          },
          "scope" : {
            "$ref" : "#/components/schemas/DependentCountScope"
          }
        },
        "description" : "Parameters for dependent count API"
      },
      "DependentCountScope" : {
        "type" : "object",
        "properties" : {
          "projectIds" : {
            "type" : "array",
            "description" : "The project IDs used to search for given object ids of specific types",
            "items" : {
              "type" : "string",
              "description" : "The project IDs used to search for given object ids of specific types"
            }
          },
          "types" : {
            "type" : "array",
            "description" : "Dependent object types who use other objects, will be counted by this level",
            "items" : {
              "type" : "integer",
              "description" : "Dependent object types who use other objects, will be counted by this level",
              "format" : "int32"
            }
          }
        },
        "description" : "The projectIDs and types for dependent objects"
      },
      "ProjectIdAndShortcutIds" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string"
          },
          "shortcutIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "Context" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name"
          }
        }
      },
      "SearchIconParams" : {
        "required" : [ "contexts" ],
        "type" : "object",
        "properties" : {
          "contexts" : {
            "maxItems" : 10000,
            "minItems" : 0,
            "type" : "array",
            "description" : "An array of queries to search for icons.",
            "items" : {
              "$ref" : "#/components/schemas/Context"
            }
          }
        }
      },
      "CandidateModelInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The candidate model id"
          },
          "attrIDs" : {
            "type" : "array",
            "description" : "Attributes ID list under this model",
            "items" : {
              "type" : "string",
              "description" : "Attributes ID list under this model"
            }
          }
        },
        "description" : "The candidate models to be considered for linking"
      },
      "DataModel" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The model name"
          },
          "description" : {
            "type" : "string",
            "description" : "The model description"
          },
          "id" : {
            "type" : "string",
            "description" : "The model unique identifier (GUID)"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Attribute"
            }
          }
        },
        "description" : "The source models to recommend similar models with attributes linked"
      },
      "FormExpression" : {
        "type" : "object",
        "properties" : {
          "table" : {
            "type" : "string",
            "description" : "The table the form is in"
          },
          "expression" : {
            "type" : "string",
            "description" : "The expression content"
          }
        },
        "description" : "The expressions of the form"
      },
      "ModelAttributeLinkingSearchParams" : {
        "required" : [ "dataModels" ],
        "type" : "object",
        "properties" : {
          "dataModels" : {
            "type" : "array",
            "description" : "The source models to recommend similar models with attributes linked",
            "items" : {
              "$ref" : "#/components/schemas/DataModel"
            }
          },
          "candidateModels" : {
            "type" : "array",
            "description" : "The candidate models to be considered for linking",
            "items" : {
              "$ref" : "#/components/schemas/CandidateModelInfo"
            }
          }
        }
      },
      "Relationships" : {
        "type" : "object",
        "properties" : {
          "usesObjects" : {
            "type" : "array",
            "description" : "List of objects used by provided objects",
            "items" : {
              "$ref" : "#/components/schemas/UsesObject"
            }
          }
        },
        "description" : "Dependent relationships"
      },
      "SearchRelationshipUsedByResult" : {
        "title" : "Search used by relationship result",
        "type" : "object",
        "properties" : {
          "relationships" : {
            "$ref" : "#/components/schemas/Relationships"
          },
          "hits" : {
            "type" : "integer",
            "description" : "Count of uses objects",
            "format" : "int32"
          }
        },
        "description" : "Search used by relationship result"
      },
      "UsesObject" : {
        "type" : "object",
        "properties" : {
          "objectId" : {
            "type" : "string",
            "description" : "The object ID of the used object"
          },
          "projectId" : {
            "type" : "string",
            "description" : "The project ID of the used object"
          },
          "type" : {
            "type" : "integer",
            "description" : "The type of the used object",
            "format" : "int32"
          },
          "depth" : {
            "type" : "integer",
            "description" : "The depth of the used object in the relationship path",
            "format" : "int32"
          },
          "usesObjectIds" : {
            "type" : "array",
            "description" : "The ID list of objects directly used by this object",
            "items" : {
              "type" : "string",
              "description" : "The ID list of objects directly used by this object"
            }
          }
        },
        "description" : "List of objects used by provided objects"
      },
      "RelationshipUsedByParams" : {
        "required" : [ "scope", "usedByOneOf" ],
        "type" : "object",
        "properties" : {
          "usedByOneOf" : {
            "type" : "array",
            "description" : "IDs of the objects which use other objects, by providing this parameter, it will return the objects that are recursively used by the given objects",
            "items" : {
              "type" : "string",
              "description" : "IDs of the objects which use other objects, by providing this parameter, it will return the objects that are recursively used by the given objects"
            }
          },
          "relationshipSearchFlags" : {
            "type" : "integer",
            "description" : "Search flags for relationship search, 0x1 to get hierarchical result, 0x2 to include top objects",
            "format" : "int32"
          },
          "scope" : {
            "$ref" : "#/components/schemas/RelationshipUsedByScope"
          }
        },
        "description" : "Parameters for used by relationship API"
      },
      "RelationshipUsedByScope" : {
        "type" : "object",
        "properties" : {
          "depth" : {
            "type" : "integer",
            "description" : "Depth of recursive dependents to search",
            "format" : "int32"
          },
          "typeMap" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "description" : "Map from object type to component object types",
              "items" : {
                "type" : "integer",
                "description" : "Map from object type to component object types",
                "format" : "int32"
              }
            },
            "description" : "Map from object type to component object types"
          }
        },
        "description" : "The search depth and type map for the used objects"
      },
      "AttributeModelSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        },
        "description" : "Search parameters for Attribute sub queries."
      },
      "DataSourceSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "dbmsTypes" : {
            "type" : "array",
            "description" : "Search data source based on DBMS types.",
            "example" : [ 17 ],
            "items" : {
              "type" : "integer",
              "description" : "Search data source based on DBMS types.",
              "format" : "int32"
            }
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        },
        "description" : "Search parameters for DataSource sub queries."
      },
      "FolderSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "pathNames" : {
            "type" : "array",
            "description" : "Folder names in a path from ancestor to descendant.",
            "example" : [ "projectName", "folder1", "folder2" ],
            "items" : {
              "type" : "string",
              "description" : "Folder names in a path from ancestor to descendant.",
              "example" : "[\"projectName\",\"folder1\",\"folder2\"]"
            }
          },
          "recursive" : {
            "type" : "boolean",
            "description" : "Recursively search in the child folders if set to true.",
            "example" : true
          }
        },
        "description" : "Search parameters for Folder sub queries."
      },
      "LinkingModelSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "certifiedStatus" : {
            "type" : "string",
            "description" : "Defines a search criteria based on the certified status of the object.",
            "example" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        },
        "description" : "Search parameters for linking Model sub queries."
      },
      "MetricModelSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        },
        "description" : "Search parameters for Metric sub queries."
      },
      "OwnerSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "searchOnName" : {
            "type" : "boolean",
            "description" : "Search on the name field when searching user.",
            "example" : true
          },
          "searchOnLogin" : {
            "type" : "boolean",
            "description" : "Search on the abbreviation field(login) when searching user.",
            "example" : true
          },
          "searchOnEmail" : {
            "type" : "boolean",
            "description" : "Search on the email field when searching user.",
            "example" : false
          }
        },
        "description" : "Search parameters for User sub queries."
      },
      "RecommendModelParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "certifiedStatus" : {
            "type" : "string",
            "description" : "Defines a search criteria based on the certified status of the object.",
            "example" : "ALL",
            "enum" : [ "ALL", "NOT_CERTIFIED_ONLY", "CERTIFIED_ONLY", "OFF" ]
          },
          "projectIds" : {
            "type" : "array",
            "description" : "Project IDs where the search will be performed. X-MSTR-ProjectID will be ignored and isCrossCluster will be regarded as true if the project IDs are specified.",
            "example" : [ "B7CA92F04B9FAE8D941C3E9B7E0CD754" ],
            "items" : {
              "type" : "string",
              "description" : "Project IDs where the search will be performed. X-MSTR-ProjectID will be ignored and isCrossCluster will be regarded as true if the project IDs are specified.",
              "example" : "[\"B7CA92F04B9FAE8D941C3E9B7E0CD754\"]"
            }
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : -1
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "tryBestOnEmptySubQueryResult" : {
            "type" : "boolean",
            "description" : "Try the best to search model even if some of subqueries return empty result.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_ . :] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "attributeSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for Attribute sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/AttributeModelSubQueryParams"
            }
          },
          "metricSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for Metric sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/MetricModelSubQueryParams"
            }
          },
          "linkingModelSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for linking Model sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/LinkingModelSubQueryParams"
            }
          },
          "folderSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for Folder sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/FolderSubQueryParams"
            }
          },
          "ownerSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for User sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/OwnerSubQueryParams"
            }
          },
          "tableSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for Table sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/TableSubQueryParams"
            }
          },
          "dataSourceSubQueries" : {
            "type" : "array",
            "description" : "Search parameters for DataSource sub queries.",
            "items" : {
              "$ref" : "#/components/schemas/DataSourceSubQueryParams"
            }
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        }
      },
      "TableSubQueryParams" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The search name pattern.",
            "example" : "name"
          },
          "pattern" : {
            "type" : "integer",
            "description" : "Pattern to search for, such as Begin With or Exactly. Possible values are defined in [EnumDSSXMLSearchTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLSearchTypes.html).",
            "format" : "int32",
            "example" : 0
          },
          "offset" : {
            "type" : "integer",
            "description" : "Starting point within the collection of returned search results. Used to control paging behavior.",
            "format" : "int32",
            "example" : 0
          },
          "limit" : {
            "type" : "integer",
            "description" : "Maximum number of items returned for a single request. Used to control paging behavior. Use -1 for no limit.",
            "format" : "int32",
            "example" : 100
          },
          "includeSubQueryResult" : {
            "type" : "boolean",
            "description" : "Include the subquery results.",
            "example" : false
          },
          "includeNestedComponents" : {
            "type" : "boolean",
            "description" : "Include the nestedComponents information in the results.",
            "example" : false
          },
          "skipFallbackSearch" : {
            "type" : "boolean",
            "description" : "Do not fallback to fuzzy search if the result is empty, default to true.",
            "example" : true
          },
          "tryBestFilter" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as a should match one(instead of must) in the main query when set as true.",
            "example" : false
          },
          "boostSubstringOnContainAnyWord" : {
            "type" : "boolean",
            "description" : "Boost with substring search in contain any word search type.",
            "example" : false
          },
          "useStandardAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the default standard analyzer for search query to avoid treating [_, .] as separator.",
            "example" : false
          },
          "useExactAnalyzerForSearch" : {
            "type" : "boolean",
            "description" : "Use the exact analyzer for search query to treat the search string as a keyword.",
            "example" : false
          },
          "exclude" : {
            "type" : "boolean",
            "description" : "The filter condition got from this subquery will be treated as an exclude one in the main query when set as true.",
            "example" : false
          },
          "cognitiveSearchFlags" : {
            "type" : "array",
            "description" : "Cognitive search flags to control search behavior.",
            "example" : [ 0 ],
            "items" : {
              "type" : "integer",
              "description" : "Cognitive search flags to control search behavior.",
              "format" : "int32"
            }
          },
          "description" : {
            "type" : "string",
            "description" : "The search description pattern.",
            "example" : "description"
          },
          "query" : {
            "type" : "string",
            "description" : "Combined, multi column query (name and desc)",
            "example" : "name or description"
          },
          "managed" : {
            "type" : "string",
            "description" : "Whether the object is managed or embedded. NOT_MANAGED_ONLY and MANAGED_ONLY are deprecated but retained for backward compatibility.",
            "example" : "ALL",
            "enum" : [ "NOT_MANAGED_ONLY", "MANAGED_ONLY", "ALL", "NOT_MANAGED_AND_NOT_EMBEDDED", "MANAGED_AND_NOT_EMBEDDED", "EMBEDDED_AND_NOT_MANAGED", "MANAGED_OR_EMBEDDED" ]
          }
        },
        "description" : "Search parameters for Table sub queries."
      },
      "ProjectIdAndObjectIds" : {
        "required" : [ "objectIds", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID of the objects to search"
          },
          "objectIds" : {
            "type" : "array",
            "description" : "A list of object IDs in this project",
            "items" : {
              "type" : "string",
              "description" : "A list of object IDs in this project"
            }
          }
        }
      },
      "SearchObjectParams" : {
        "required" : [ "projectIdAndObjectIds" ],
        "type" : "object",
        "properties" : {
          "projectIdAndObjectIds" : {
            "type" : "array",
            "description" : "An array of objects containing a project ID and a list of associated object IDs",
            "items" : {
              "$ref" : "#/components/schemas/ProjectIdAndObjectIds"
            }
          },
          "extraSearchResultFields" : {
            "type" : "array",
            "description" : "Extra object info to be included in the search result. Possible values are components, embeddedObjects, resolvedSubtype, groups, ddaSubMode, popularity, userCount, executionCount and dependentCount",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "SearchSuggestionsResult" : {
        "title" : "Search suggestions",
        "required" : [ "suggestions" ],
        "type" : "object",
        "properties" : {
          "suggestions" : {
            "type" : "array",
            "description" : "Search suggestions",
            "items" : {
              "type" : "string",
              "description" : "Search suggestions"
            }
          }
        },
        "description" : "Search suggestions from I-Server based on keywords"
      },
      "SecurityRoleConfig" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Security role name"
          },
          "description" : {
            "type" : "string",
            "description" : "Security role description"
          },
          "privileges" : {
            "type" : "array",
            "description" : "Privileges involved in security role ",
            "items" : {
              "$ref" : "#/components/schemas/ObjectNameAndId"
            }
          }
        }
      },
      "ProjectMember" : {
        "required" : [ "id", "name", "subType", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "subType" : {
            "type" : "integer",
            "description" : "Object subType. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32"
          },
          "username" : {
            "type" : "string",
            "description" : "Username (login) of project member",
            "example" : "administrator"
          },
          "description" : {
            "type" : "string",
            "description" : "Description for project member",
            "example" : "Administrator account"
          }
        }
      },
      "SecurityRoleDetailInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "privileges" : {
            "type" : "array",
            "description" : "Privileges assigned in security role",
            "items" : {
              "$ref" : "#/components/schemas/ObjectNameAndId"
            }
          },
          "projects" : {
            "type" : "array",
            "description" : "Project members tuple for the security role ",
            "items" : {
              "$ref" : "#/components/schemas/SecurityRoleProjectMembers"
            }
          }
        }
      },
      "SecurityRoleProjectMembers" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "members" : {
            "type" : "array",
            "description" : "User/UserGroup assigned in an certain security role",
            "items" : {
              "$ref" : "#/components/schemas/ProjectMember"
            }
          }
        }
      },
      "SecurityRoleObject" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "tenant" : {
            "$ref" : "#/components/schemas/Tenant"
          },
          "privileges" : {
            "type" : "array",
            "description" : "Privileges assigned in security role",
            "items" : {
              "$ref" : "#/components/schemas/ObjectNameAndId"
            }
          }
        }
      },
      "ProjectSecurityRolesResponse" : {
        "type" : "object",
        "properties" : {
          "project" : {
            "$ref" : "#/components/schemas/ProjectInfo"
          },
          "usersOrGroups" : {
            "type" : "array",
            "description" : "List of users or groups with their security roles",
            "items" : {
              "$ref" : "#/components/schemas/UserOrGroupWithSecurityRoles"
            }
          }
        },
        "description" : "Project security roles response"
      },
      "SecurityRoleWithInheritance" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Security role ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Security role name"
          },
          "inherited" : {
            "type" : "boolean",
            "description" : "Whether this security role is inherited"
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestors from which this role is inherited",
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          }
        },
        "description" : "Security role with inheritance information"
      },
      "UserOrGroupWithSecurityRoles" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "User or group ID"
          },
          "name" : {
            "type" : "string",
            "description" : "User or group name"
          },
          "type" : {
            "type" : "string",
            "description" : "Object type"
          },
          "subtype" : {
            "type" : "string",
            "description" : "Object subtype"
          },
          "securityRoles" : {
            "type" : "array",
            "description" : "List of security roles assigned to this user or group",
            "items" : {
              "$ref" : "#/components/schemas/SecurityRoleWithInheritance"
            }
          }
        },
        "description" : "User or group with security roles"
      },
      "PatchOperationsSecurityRolePatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SecurityRolePatchOperation"
            }
          }
        }
      },
      "SecurityRolePatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Use addElement, replace or removeElement operation to be performed",
            "example" : "replace",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed",
            "example" : "/members",
            "enum" : [ "/name", "/members", "/description", "/privileges" ]
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]",
            "example" : {
              "projectId" : "22B97E444CEF8A6B58CF468BC190CC6E",
              "memberIds" : [ "D09773F94699124B4D75B48F1B358327", "54F3D26011D2896560009A8E67019608" ]
            }
          }
        }
      },
      "SessionLocales" : {
        "type" : "object",
        "properties" : {
          "metadataLocale" : {
            "type" : "string",
            "description" : "IServer resolved locale for the metadata",
            "example" : "en_us"
          },
          "warehouseDataLocale" : {
            "type" : "string",
            "description" : "IServer resolved locale for the warehouse data",
            "example" : "en_us"
          },
          "displayLocale" : {
            "type" : "string",
            "description" : "IServer resolved locale for display",
            "example" : "en_us"
          },
          "messagesLocale" : {
            "type" : "string",
            "description" : "IServer resolved locale for messages",
            "example" : "en_us"
          },
          "numberLocale" : {
            "type" : "string",
            "description" : "IServer resolved locale for numbers",
            "example" : "en_us"
          },
          "timeZone" : {
            "type" : "string",
            "description" : "IServer resolved timezone to be used for the session",
            "example" : "UTC"
          }
        }
      },
      "AncestorGroupInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Ancestor group name"
          },
          "id" : {
            "type" : "string",
            "description" : "Ancestor group ID"
          }
        },
        "description" : "Ancestor groups"
      },
      "SessionUserInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Current user name"
          },
          "id" : {
            "type" : "string",
            "description" : "Current user ID"
          },
          "ancestorGroups" : {
            "type" : "array",
            "description" : "Ancestor groups",
            "items" : {
              "$ref" : "#/components/schemas/AncestorGroupInfo"
            }
          }
        }
      },
      "Privilege" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Privilege ID. Possible values can be found in [EnumDSSXMLPrivilegeTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html)"
          },
          "name" : {
            "type" : "string",
            "description" : "Privilege name"
          },
          "description" : {
            "type" : "string",
            "description" : "Privilege description"
          },
          "isUserLevelAllowed" : {
            "type" : "boolean",
            "description" : "If true, grants current user permission to perform the action defined by the privilege in all projects (default = false)"
          },
          "projects" : {
            "type" : "array",
            "description" : "If true, grants current user permission to perform the action defined by the privilege in specific projects",
            "items" : {
              "$ref" : "#/components/schemas/ProjectLevelPrivilege"
            }
          }
        },
        "description" : "List of privileges granted to user logged in to current session"
      },
      "ProjectLevelPrivilege" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "isAllowed" : {
            "type" : "boolean",
            "description" : "Grants current user permission to perform action defined by privilege in this project (default = false)"
          }
        },
        "description" : "If true, grants current user permission to perform the action defined by the privilege in specific projects"
      },
      "Privileges" : {
        "type" : "object",
        "properties" : {
          "privileges" : {
            "type" : "array",
            "description" : "List of privileges granted to user logged in to current session",
            "items" : {
              "$ref" : "#/components/schemas/Privilege"
            }
          }
        }
      },
      "MigrationPackageFileExtraInfoDto" : {
        "required" : [ "packagePurpose", "packageType" ],
        "type" : "object",
        "properties" : {
          "packageId" : {
            "type" : "string",
            "description" : "Package id"
          },
          "packageType" : {
            "type" : "string",
            "description" : "project: Include objects of project level and configuration level.\nconfiguration: Only include objects of configuration level.\nproject security package: Only include objects of user/user group type.",
            "enum" : [ "project", "project_security", "configuration" ]
          },
          "packagePurpose" : {
            "type" : "string",
            "description" : "object_migration: The package is used for object migration. This is the default value.\nproject_merge: The package is used for project merge and contains the whole project inside.\nmigration_from_shared_file_store: The package is a shared file package from storage service.",
            "enum" : [ "object_migration", "project_merge", "migration_group", "migration_group_child", "migration_from_shared_file_store" ]
          }
        }
      },
      "SharedFileDto" : {
        "required" : [ "creationDate", "creator", "environment", "extension", "lastUpdatedDate", "name", "path", "sha256", "size" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "File id."
          },
          "type" : {
            "type" : "string",
            "description" : "migrations.packages: It is a package file, and its filename extension should be mmp.",
            "enum" : [ "migrations.packages" ]
          },
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "path" : {
            "type" : "string",
            "description" : "File path."
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "existing" : {
            "type" : "boolean",
            "description" : "False means this file is not uploaded completed."
          },
          "size" : {
            "maximum" : 2147483648,
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "file creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "file last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "tenantId" : {
            "type" : "string",
            "description" : "Tenant ID for multi-tenant isolation"
          },
          "extraInfo" : {
            "$ref" : "#/components/schemas/SharedFileExtraInfoDtoBase"
          }
        }
      },
      "SharedFileExtraInfoDtoBase" : {
        "type" : "object",
        "description" : "Extra info of this file.",
        "anyOf" : [ {
          "$ref" : "#/components/schemas/MigrationPackageFileExtraInfoDto"
        } ]
      },
      "SharedFileCreateDto" : {
        "required" : [ "environment", "extension", "name", "sha256", "size", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "type" : {
            "type" : "string",
            "description" : "migrations.packages: It is a package file, and its filename extension should be mmp.",
            "enum" : [ "migrations.packages" ]
          },
          "size" : {
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "extraInfo" : {
            "$ref" : "#/components/schemas/SharedFileExtraInfoCreateDtoBase"
          }
        }
      },
      "SharedFileExtraInfoCreateDtoBase" : {
        "type" : "object"
      },
      "ShortcutCustomGroup" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Shortcut Group name"
          },
          "itemKeys" : {
            "type" : "array",
            "description" : "Shortcut Group items",
            "items" : {
              "type" : "string",
              "description" : "Shortcut Group items"
            }
          },
          "color" : {
            "type" : "string",
            "description" : "Custom Group color"
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Application id in which the Custom Shortcut Group belongs to"
          }
        },
        "description" : "custom group information which contains id, name, color and item keys."
      },
      "StatsInput" : {
        "required" : [ "mode" ],
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "Mode of the performance statistics recording",
            "enum" : [ "OFF", "SCREEN" ]
          }
        }
      },
      "SharedStorageGet" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Storage Type, currently support S3 and file_system",
            "enum" : [ "unset", "unknown", "file_system", "S3", "Azure", "GCS", "stackit" ]
          },
          "alias" : {
            "type" : "string",
            "description" : "Alias of the storage configuration"
          },
          "location" : {
            "type" : "string",
            "description" : "Storage Location, e.g. For S3 is bucket name, for File System is the absolute path of the shared folder."
          },
          "s3Region" : {
            "type" : "string",
            "description" : "S3 Bucket Region"
          },
          "azureStorageAccountName" : {
            "type" : "string",
            "description" : "Azure Storage Account name"
          },
          "gcsProjectId" : {
            "type" : "string",
            "description" : "Google Cloud Project Id"
          },
          "configured" : {
            "type" : "boolean",
            "description" : "If Storage Service is configured or not"
          },
          "stackit" : {
            "$ref" : "#/components/schemas/StackItGet"
          }
        },
        "description" : "sharedStorage information for GET request"
      },
      "StackItGet" : {
        "type" : "object",
        "properties" : {
          "region" : {
            "type" : "string",
            "description" : "Stackit Bucket Region"
          },
          "endpoint" : {
            "type" : "string",
            "description" : "Stackit Endpoint"
          }
        },
        "description" : "Stackit related information"
      },
      "StorageConfigurationGetDto" : {
        "required" : [ "sharedFileStore" ],
        "type" : "object",
        "properties" : {
          "sharedFileStore" : {
            "$ref" : "#/components/schemas/SharedStorageGet"
          }
        }
      },
      "Instance" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Content ID",
            "readOnly" : true
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values)",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the new instance"
          }
        }
      },
      "AlternateSource" : {
        "type" : "object",
        "properties" : {
          "dbRoleId" : {
            "type" : "string",
            "description" : "Database instance ID of alternate source"
          },
          "namespace" : {
            "type" : "string",
            "description" : "Database namespace of alternate source"
          },
          "tableName" : {
            "type" : "string",
            "description" : "Table name of alternate source"
          },
          "url" : {
            "type" : "string",
            "description" : "URL of alternate source"
          }
        },
        "description" : "Alternate source"
      },
      "Bursting" : {
        "type" : "object",
        "properties" : {
          "slicingAttributes" : {
            "type" : "array",
            "description" : "The list of attributes to slice on",
            "items" : {
              "type" : "string",
              "description" : "The list of attributes to slice on"
            }
          },
          "addressAttributeId" : {
            "type" : "string",
            "description" : "Attribute ID in the email burst feature"
          },
          "deviceId" : {
            "type" : "string",
            "description" : "Device ID in the email burst feature"
          },
          "formId" : {
            "type" : "string",
            "description" : "Form ID in the email burst feature"
          }
        },
        "description" : "Bursting settings"
      },
      "CacheDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "cacheType" : {
            "type" : "string",
            "description" : "The cache type to use, reserved type for report/document/dossier, shortcut or shortcut_and_bookmark type for dossier",
            "default" : "reserved",
            "enum" : [ "reserved", "shortcut", "shortcut_and_bookmark" ]
          },
          "shortcutCacheFormat" : {
            "type" : "string",
            "description" : "The shortcut cache format",
            "readOnly" : true,
            "enum" : [ "reserved", "json", "binary", "json_and_binary" ]
          },
          "libraryCacheTypes" : {
            "type" : "array",
            "description" : "Set of library cache types, available types can be web, android, ios",
            "items" : {
              "type" : "string",
              "description" : "Set of library cache types, available types can be web, android, ios",
              "enum" : [ "web", "android", "ios", "android_and_ios" ]
            }
          },
          "reuseDataSetCache" : {
            "type" : "boolean",
            "description" : "Whether to reuse dataset cache",
            "default" : false
          },
          "isAllLibraryUsers" : {
            "type" : "boolean",
            "description" : "Whether for all library users",
            "default" : false
          }
        },
        "description" : "Delivery properties for Cache subscriptions"
      },
      "Content" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the component"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the component",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "The type of content",
            "enum" : [ "report", "document", "cube", "data_model", "dossier", "unsupported" ]
          },
          "projectId" : {
            "type" : "string",
            "description" : "The project ID to which the content belongs"
          },
          "personalization" : {
            "$ref" : "#/components/schemas/ContentProperties"
          },
          "refreshCondition" : {
            "$ref" : "#/components/schemas/DatasetRefreshCondition"
          }
        },
        "description" : "Contents that are inserted into the email body, currently only supported for email delivery"
      },
      "ContentElementInfo" : {
        "required" : [ "contentIndex" ],
        "type" : "object",
        "properties" : {
          "contentIndex" : {
            "type" : "integer",
            "description" : "The index of the referred content in subscription contents+bodyContents, starting from 1.",
            "format" : "int32"
          },
          "contentId" : {
            "type" : "string",
            "description" : "The ID of the referred content in subscription."
          },
          "exportFormat" : {
            "type" : "integer",
            "description" : "Export format for content.",
            "format" : "int32"
          },
          "height" : {
            "type" : "integer",
            "description" : "Height of image.",
            "format" : "int32"
          },
          "width" : {
            "type" : "integer",
            "description" : "Width of image.",
            "format" : "int32"
          },
          "lastModifyTime" : {
            "type" : "string",
            "description" : "Time of last modification of added content."
          }
        },
        "description" : "The information of an object element."
      },
      "ContentProperties" : {
        "type" : "object",
        "properties" : {
          "compressed" : {
            "type" : "boolean",
            "description" : "Indicates whether the content that will be delivered should be compressed",
            "readOnly" : true,
            "default" : false
          },
          "formatMode" : {
            "type" : "string",
            "description" : "Type that defines how much of the Report Services document, which has group by units, should be delivered",
            "default" : "DEFAULT",
            "enum" : [ "DEFAULT", "CURRENT_PAGE", "ALL_PAGES", "ALL_PAGES_SEPARATED", "CURRENT_WINDOW", "CURRENT_LAYOUT" ]
          },
          "viewMode" : {
            "type" : "string",
            "description" : "Indicates the view mode that is supported by this format",
            "default" : "DEFAULT",
            "enum" : [ "DEFAULT", "GRID", "GRAPH", "BOTH", "NONINTERACTIVE" ]
          },
          "formatType" : {
            "type" : "string",
            "description" : "Content format type",
            "default" : "PDF",
            "enum" : [ "PLAIN_TEXT", "EXCEL", "HTML", "PDF", "STREAMING", "SWF_MHT", "SWF_HTML", "CSV", "VIEW", "INTERACTIVE", "EDITABLE", "EXPORT_FLASH", "PHONE", "TABLET", "JSON", "MSTR", "IMAGE" ]
          },
          "contentModes" : {
            "type" : "array",
            "description" : "Content modes, currently it supports normal and bookmark. Default value is normal.",
            "items" : {
              "type" : "string",
              "description" : "Content modes, currently it supports normal and bookmark. Default value is normal.",
              "enum" : [ "normal", "base", "bookmark", "latest" ]
            }
          },
          "nodeKeys" : {
            "type" : "array",
            "description" : "Keys of the nodes to be delivered. Currently only chapters and pages are supported.",
            "items" : {
              "type" : "string",
              "description" : "Keys of the nodes to be delivered. Currently only chapters and pages are supported."
            }
          },
          "gridKey" : {
            "type" : "string",
            "description" : "Key of the node to be delivered. Currently this is only used for export to image."
          },
          "bookmarkIds" : {
            "type" : "array",
            "description" : "When contentModes contains bookmark mode, bookmarkIds must be set.",
            "items" : {
              "type" : "string",
              "description" : "When contentModes contains bookmark mode, bookmarkIds must be set."
            }
          },
          "exportToPdfSettings" : {
            "$ref" : "#/components/schemas/ExportToPdfSettings"
          },
          "exportToExcelSettings" : {
            "$ref" : "#/components/schemas/ExportToExcelSettings"
          },
          "exportToCsvSettings" : {
            "$ref" : "#/components/schemas/ExportToCsvSettings"
          },
          "exportToImageSettings" : {
            "$ref" : "#/components/schemas/ExportToImageSettings"
          },
          "delimiter" : {
            "type" : "string",
            "description" : "Format delimiter for exported file content (only applies to PLAIN_TEXT report)"
          },
          "bursting" : {
            "$ref" : "#/components/schemas/Bursting"
          },
          "prompt" : {
            "$ref" : "#/components/schemas/Prompt"
          },
          "fileName" : {
            "type" : "string",
            "description" : "File name"
          },
          "fileNameMacros" : {
            "type" : "array",
            "description" : "List of macros used in file name",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionMacro"
            }
          },
          "mustInAttachment" : {
            "type" : "boolean",
            "description" : "Should the export result put in attachment or body. This is only for html",
            "readOnly" : true
          },
          "manipulations" : {
            "type" : "string",
            "description" : "Manipulations applied to the content"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Content instance message ID"
          },
          "burstingInfo" : {
            "$ref" : "#/components/schemas/WebContentPersonalization"
          }
        },
        "description" : "Personalization settings"
      },
      "DatasetRefreshCondition" : {
        "type" : "object",
        "properties" : {
          "datasetRefreshPolicy" : {
            "type" : "string",
            "description" : "Default refresh policy for all the tables in the dataset. The setting value must be provided if the tables setting value is not provided or empty.",
            "enum" : [ "add", "delete", "update", "upsert", "replace", "ignore", "reserved" ]
          },
          "filters" : {
            "type" : "array",
            "description" : "Subscription filters",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionFilter"
            }
          },
          "tables" : {
            "type" : "array",
            "description" : "Table refresh settings. When the setting is absent in the response or the array is empty, the datasetRefreshPolicy setting value must be provided and will be used as the refresh policy for all the tables, including the new added table after the scheduler is set up.",
            "items" : {
              "$ref" : "#/components/schemas/TableRefreshInfo"
            }
          }
        },
        "description" : "Dataset refresh condition settings"
      },
      "DeliveryProperties" : {
        "required" : [ "mode" ],
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "The subscription delivery mode (i.e. email, cache, history_list, ftp, file, mobile, onedrive, sharepoint, s3, googledrive)",
            "example" : "EMAIL",
            "enum" : [ "EMAIL", "HISTORY_LIST", "CACHE", "FTP", "FILE", "MOBILE", "ONEDRIVE", "SHAREPOINT", "S3", "GOOGLEDRIVE" ]
          },
          "expiration" : {
            "type" : "string",
            "description" : "Expiration date of the subscription, format should be yyyy-MM-dd",
            "example" : "2019-08-15"
          },
          "softDisabled" : {
            "type" : "boolean",
            "description" : "Whether subscription is soft disabled",
            "default" : false
          },
          "useRecipientTimezone" : {
            "type" : "boolean",
            "description" : "Whether subscription is using timezone defined in recipients",
            "default" : false
          },
          "expirationTimeZone" : {
            "type" : "string",
            "description" : "The time zone of the subscription's expiration date",
            "example" : "Europe/London",
            "default" : "Europe/London"
          },
          "contactSecurity" : {
            "type" : "boolean",
            "description" : "Whether to use contact security for each contact group member"
          },
          "email" : {
            "$ref" : "#/components/schemas/EmailDeliveryProperties"
          },
          "file" : {
            "$ref" : "#/components/schemas/FileDeliveryProperties"
          },
          "printer" : {
            "$ref" : "#/components/schemas/PrinterDeliveryProperties"
          },
          "ftp" : {
            "$ref" : "#/components/schemas/FtpDeliveryProperties"
          },
          "cache" : {
            "$ref" : "#/components/schemas/CacheDeliveryProperties"
          },
          "mobile" : {
            "$ref" : "#/components/schemas/MobileDeliveryProperties"
          },
          "historyList" : {
            "$ref" : "#/components/schemas/HistoryListDeliveryProperties"
          },
          "onedrive" : {
            "$ref" : "#/components/schemas/RestDeliveryProperties"
          },
          "sharepoint" : {
            "$ref" : "#/components/schemas/RestDeliveryProperties"
          },
          "s3" : {
            "$ref" : "#/components/schemas/RestDeliveryProperties"
          },
          "googledrive" : {
            "$ref" : "#/components/schemas/RestDeliveryProperties"
          },
          "notificationEnabled" : {
            "type" : "boolean",
            "description" : "Whether notification is enabled, notification applies to cache",
            "default" : false
          },
          "personalNotification" : {
            "$ref" : "#/components/schemas/Notification"
          },
          "notificationTarget" : {
            "type" : "string",
            "description" : "Notification target to specify who will receive the notification. Can be used together with personalNotification to configure notification delivery.",
            "example" : "recipients_and_owner",
            "enum" : [ "none", "owner", "recipients", "recipients_and_owner", "owner", "recipients", "recipients_and_owner" ]
          },
          "applicationId" : {
            "type" : "string",
            "description" : "Identifier of the application from which the subscription was created"
          }
        },
        "description" : "Delivery settings"
      },
      "EmailDeliveryProperties" : {
        "required" : [ "subject" ],
        "type" : "object",
        "properties" : {
          "subject" : {
            "type" : "string",
            "description" : "The email subject associated with the subscription"
          },
          "subjectMacros" : {
            "type" : "array",
            "description" : "List of macros used in subject",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionMacro"
            }
          },
          "message" : {
            "type" : "string",
            "description" : "The email body of subscription"
          },
          "richTextMessage" : {
            "$ref" : "#/components/schemas/RichTextMessage"
          },
          "messageMacros" : {
            "type" : "array",
            "description" : "List of macros used in email body",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionMacro"
            }
          },
          "filename" : {
            "type" : "string",
            "description" : "The filename that will be delivered when the subscription is executed"
          },
          "filenameMacros" : {
            "type" : "array",
            "description" : "List of macros used in file name",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionMacro"
            }
          },
          "spaceDelimiter" : {
            "type" : "string",
            "description" : "The space delimiter used in exported file name"
          },
          "sendContentAs" : {
            "type" : "string",
            "description" : "Send subscribed content as:",
            "default" : "data",
            "enum" : [ "data", "data_and_history_list", "data_and_link_and_history_list", "link_and_history_list", "library_snapshot" ]
          },
          "overwriteOlderVersion" : {
            "type" : "boolean",
            "description" : "Whether the current subscription will overwrite earlier versions of the same report or document in the history list"
          },
          "zip" : {
            "$ref" : "#/components/schemas/ZipSettings"
          },
          "libraryUrl" : {
            "type" : "string",
            "description" : "Library URL used for unsubscribe."
          }
        },
        "description" : "Delivery properties for Email subscriptions"
      },
      "ExcelTemplateContent" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The id of the excel template"
          },
          "fileName" : {
            "type" : "string",
            "description" : "The delivered file name"
          },
          "fileNameMacros" : {
            "type" : "array",
            "description" : "The macros in the file name",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionMacro"
            }
          },
          "sheets" : {
            "type" : "array",
            "description" : "The sheets in the Excel template",
            "items" : {
              "$ref" : "#/components/schemas/ExcelTemplateSheet"
            }
          }
        },
        "description" : "Excel template contents"
      },
      "ExcelTemplateSheet" : {
        "required" : [ "contents" ],
        "type" : "object",
        "properties" : {
          "contents" : {
            "type" : "array",
            "description" : "The contents in the sheet",
            "items" : {
              "$ref" : "#/components/schemas/ExcelTemplateSubContent"
            }
          }
        },
        "description" : "The sheets in the Excel template"
      },
      "ExcelTemplateSubContent" : {
        "required" : [ "columnPositionMode", "contentIndex", "rowPositionMode" ],
        "type" : "object",
        "properties" : {
          "contentIndex" : {
            "type" : "integer",
            "description" : "The index of this content in contents list",
            "format" : "int32"
          },
          "rowPositionMode" : {
            "type" : "string",
            "description" : "The position mode in the row direction",
            "enum" : [ "ABSOLUTE", "BOTTOM", "TOP" ]
          },
          "rowRelativeTo" : {
            "type" : "integer",
            "description" : "To which row the content position is relative to",
            "format" : "int32"
          },
          "rowOffset" : {
            "type" : "integer",
            "description" : "The offset in the row direction",
            "format" : "int32"
          },
          "columnPositionMode" : {
            "type" : "string",
            "description" : "The position mode in the column direction",
            "enum" : [ "ABSOLUTE", "RIGHT", "LEFT" ]
          },
          "columnRelativeTo" : {
            "type" : "integer",
            "description" : "To which column the content position is relative to",
            "format" : "int32"
          },
          "columnOffset" : {
            "type" : "integer",
            "description" : "The offset in the column direction",
            "format" : "int32"
          }
        },
        "description" : "The contents in the sheet"
      },
      "ExportToCsvSettings" : {
        "type" : "object",
        "properties" : {
          "displayAttributeForms" : {
            "type" : "boolean",
            "description" : "Specifies whether to display attribute forms",
            "default" : false
          },
          "separator" : {
            "type" : "string",
            "description" : "Separator between two content cells",
            "default" : ","
          },
          "trimSpace" : {
            "type" : "boolean",
            "description" : "Specifies whether to remove spaces before and after content cells",
            "default" : false
          },
          "expandPageByInfo" : {
            "type" : "boolean",
            "description" : "Specifies whether to expand page by information"
          }
        },
        "description" : "Export to CSV settings"
      },
      "ExportToExcelSettings" : {
        "type" : "object",
        "properties" : {
          "includeFilter" : {
            "type" : "boolean",
            "description" : "Whether to export filter information.",
            "example" : false,
            "default" : false
          },
          "sheet" : {
            "$ref" : "#/components/schemas/SubscriptionExcelSheet"
          },
          "expandPageByInfo" : {
            "type" : "boolean",
            "description" : "Specifies whether to expand page by information"
          },
          "exportReportTitle" : {
            "type" : "boolean",
            "description" : "Specifies whether to export report title"
          },
          "excelReportHeader" : {
            "type" : "string",
            "description" : "Customize header"
          },
          "excelReportFooter" : {
            "type" : "string",
            "description" : "Customize footer"
          },
          "excelReportHeaderLocation" : {
            "type" : "string",
            "description" : "Location of report header. It only works when customized header is provided.",
            "enum" : [ "before", "after", "replace" ]
          }
        },
        "description" : "Export to Excel settings"
      },
      "ExportToImageSettings" : {
        "type" : "object",
        "properties" : {
          "width" : {
            "type" : "integer",
            "description" : "Specifies width of the image in pixels",
            "format" : "int32",
            "default" : 1
          },
          "height" : {
            "type" : "integer",
            "description" : "Specifies height of the image in pixels",
            "format" : "int32",
            "default" : 1
          }
        },
        "description" : "Export to image settings"
      },
      "ExportToPdfSettings" : {
        "required" : [ "fitToPage", "includeFooter", "includeHeader", "includeToc", "repeatColumnHeader" ],
        "type" : "object",
        "properties" : {
          "pageOption" : {
            "type" : "string",
            "description" : "Specifies whether to export current page or all pages",
            "default" : "PAGE",
            "enum" : [ "DEFAULT", "ALL", "CURRENT", "PAGE" ]
          },
          "pageSize" : {
            "type" : "string",
            "description" : "Page size of the PDF file",
            "default" : "letter",
            "enum" : [ "a0", "a1", "a2", "a3", "a4", "a5", "b4", "b5", "letter", "legal", "ledger", "executive", "folio", "statement", "unsupported" ]
          },
          "orientation" : {
            "type" : "string",
            "description" : "Page orientation. If 'auto' is being used, the exporting engine might swap the width and the height of the page to optimize the export.",
            "default" : "automatic",
            "enum" : [ "automatic", "portrait", "landscape" ]
          },
          "pageDetailLevel" : {
            "type" : "string",
            "description" : "Specifies the detail level of page to be displayed",
            "default" : "overview",
            "enum" : [ "overview", "detailed_pages", "overview_and_detailed_pages" ]
          },
          "includeToc" : {
            "type" : "boolean",
            "description" : "Specifies whether to include table of contents",
            "default" : false
          },
          "includeHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to include header",
            "default" : true
          },
          "includeFooter" : {
            "type" : "boolean",
            "description" : "Specifies whether to include footer",
            "default" : true
          },
          "filterSummary" : {
            "type" : "string",
            "description" : "Specifies the options of including filter summary in the exported PDF. If 'NONE' is being used, no filter summary will be displayed. If 'BAR' is being used, filter summary bar will be displayed on each page. If 'PAGE' is being used, filter summary page will be displayed at the end of each chapter. If 'ALL' is being used, both filter summary bar and page will be displayed.",
            "default" : "BAR",
            "enum" : [ "NONE", "BAR", "PAGE", "ALL" ]
          },
          "fitToPage" : {
            "type" : "boolean",
            "description" : "Specifies whether to fit grid to page",
            "default" : false
          },
          "repeatColumnHeader" : {
            "type" : "boolean",
            "description" : "Specifies whether to repeat grid column header",
            "default" : false
          },
          "gridPagingMode" : {
            "type" : "string",
            "description" : "Specifies how grids should be paginated",
            "default" : "none",
            "enum" : [ "none", "enlarge" ]
          },
          "gridContainerFit" : {
            "type" : "string",
            "description" : "Specifies how to scale grids to fit to container",
            "enum" : [ "none", "horizontal" ]
          }
        },
        "description" : "Export to PDF settings"
      },
      "FileDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string",
            "description" : "The filename that will be delivered when the subscription is executed"
          },
          "spaceDelimiter" : {
            "type" : "string",
            "description" : "The space delimiter used in exported file name"
          },
          "burstSubFolder" : {
            "type" : "string",
            "description" : "The burst sub folder"
          },
          "zip" : {
            "$ref" : "#/components/schemas/ZipSettings"
          }
        },
        "description" : "Delivery properties for File subscriptions"
      },
      "FtpDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "spaceDelimiter" : {
            "type" : "string",
            "description" : "The space delimiter used in exported file name"
          },
          "filename" : {
            "type" : "string",
            "description" : "The filename that will be delivered when the subscription is executed"
          },
          "zip" : {
            "$ref" : "#/components/schemas/ZipSettings"
          }
        },
        "description" : "Delivery properties for FTP subscriptions"
      },
      "HistoryListDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "doNotCreateUpdateCaches" : {
            "type" : "boolean",
            "description" : "Whether history list subscription creates/updates matching caches",
            "default" : false
          },
          "overwriteOlderVersion" : {
            "type" : "boolean",
            "description" : "Whether history list subscription overwrites older versions of itself.",
            "default" : true
          },
          "reRunHl" : {
            "type" : "boolean",
            "description" : "Whether history list subscription re-runs against the warehouse.",
            "default" : false
          }
        },
        "description" : "Delivery properties for History List subscriptions"
      },
      "ImageElementInfo" : {
        "required" : [ "height", "width" ],
        "type" : "object",
        "properties" : {
          "blobId" : {
            "type" : "string",
            "description" : "ID of blob object used by image."
          },
          "url" : {
            "type" : "string",
            "description" : "URL of image."
          },
          "height" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "Height of image.",
            "format" : "int32"
          },
          "width" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "Width of image.",
            "format" : "int32"
          }
        },
        "description" : "The information of an image element."
      },
      "MobileDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "clientType" : {
            "type" : "string",
            "description" : "The mobile client type",
            "enum" : [ "PHONE", "TABLET", "ANDROID" ]
          },
          "deviceId" : {
            "type" : "string",
            "description" : "The mobile target applications. If multiple devices are provided, use comma to concatenate GUIDs",
            "example" : "CA30E70D4F1ECE457E3649A287D37ED0,E206C75BABC441C5B13B60C5D956F605"
          },
          "doNotCreateUpdateCaches" : {
            "type" : "boolean",
            "description" : "Whether the subscription will use a existing cache",
            "default" : false
          },
          "overwriteOlderVersion" : {
            "type" : "boolean",
            "description" : "Whether the current subscription will overwrite earlier versions in the history list",
            "default" : true
          },
          "reRunHl" : {
            "type" : "boolean",
            "description" : "Whether the subscription will re-run against warehouse",
            "default" : false
          },
          "subject" : {
            "type" : "string",
            "description" : "The subject of mobile subscription"
          },
          "message" : {
            "type" : "string",
            "description" : "The message of mobile subscription"
          },
          "libraryUrl" : {
            "type" : "string",
            "description" : "Library URL used for mobile."
          }
        },
        "description" : "Delivery properties for Mobile subscriptions"
      },
      "Notification" : {
        "required" : [ "addressId" ],
        "type" : "object",
        "properties" : {
          "addressId" : {
            "type" : "string",
            "description" : "Notification Email Address ID"
          },
          "addressName" : {
            "type" : "string",
            "description" : "Notification Email Address Name",
            "readOnly" : true
          }
        },
        "description" : "Notification detail"
      },
      "PrinterDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "copies" : {
            "type" : "integer",
            "description" : "The number of copies that should be printed",
            "format" : "int32"
          },
          "rangeStart" : {
            "type" : "integer",
            "description" : "The number indicating the first report page that should be printed",
            "format" : "int32"
          },
          "rangeEnd" : {
            "type" : "integer",
            "description" : "The number indicating the last report page that should be printed",
            "format" : "int32"
          },
          "collated" : {
            "type" : "boolean",
            "description" : "Whether the printing should be collated or not"
          },
          "orientation" : {
            "type" : "string",
            "description" : "Whether orientation is portrait or landscape",
            "enum" : [ "PORTRAIT", "LANDSCAPE" ]
          },
          "usePrintRange" : {
            "type" : "boolean",
            "description" : "Whether a print range should be used"
          }
        },
        "description" : "Delivery properties for Printer subscriptions"
      },
      "Prompt" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether prompt answers are enabled for this subscription",
            "default" : false
          },
          "instanceId" : {
            "type" : "string",
            "description" : "The content instance ID with the desired prompt answers",
            "writeOnly" : true
          }
        },
        "description" : "Prompt settings"
      },
      "RestDeliveryProperties" : {
        "type" : "object",
        "properties" : {
          "spaceDelimiter" : {
            "type" : "string",
            "description" : "The space delimiter used in exported file name"
          },
          "filename" : {
            "type" : "string",
            "description" : "The filename that will be delivered when the subscription is executed"
          },
          "zip" : {
            "$ref" : "#/components/schemas/ZipSettings"
          }
        },
        "description" : "Delivery properties for Google Drive subscriptions"
      },
      "RichTextMessage" : {
        "required" : [ "data" ],
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "The list of elements in the rich content message.",
            "items" : {
              "$ref" : "#/components/schemas/RichTextMessageElement"
            }
          },
          "html" : {
            "type" : "string",
            "description" : "The html of the rich content message."
          }
        },
        "description" : "The email body of subscription in rich content format. When this field is set, the message field will be ignored."
      },
      "RichTextMessageElement" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The element id"
          },
          "type" : {
            "type" : "string",
            "description" : "The element type (i.e. text, content)",
            "example" : "text",
            "enum" : [ "text", "content" ]
          },
          "objInfo" : {
            "$ref" : "#/components/schemas/ContentElementInfo"
          },
          "textInfo" : {
            "$ref" : "#/components/schemas/TextElementInfo"
          },
          "imgInfo" : {
            "$ref" : "#/components/schemas/ImageElementInfo"
          },
          "x" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Horizontal index of element.",
            "format" : "int32"
          },
          "y" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Vertical index of element.",
            "format" : "int32"
          },
          "h" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Height of element.",
            "format" : "int32"
          },
          "w" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Width of element.",
            "format" : "int32"
          }
        },
        "description" : "The list of elements in the rich content message."
      },
      "Subscription" : {
        "required" : [ "delivery", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the subscription",
            "readOnly" : true
          },
          "name" : {
            "maxLength" : 250,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the subscription",
            "example" : "My new subscription"
          },
          "multipleContents" : {
            "type" : "boolean",
            "description" : "Whether the subscription can have multiple contents",
            "default" : false
          },
          "editable" : {
            "type" : "boolean",
            "description" : "Whether the subscription can be edited",
            "readOnly" : true
          },
          "allowDeliveryChanges" : {
            "type" : "boolean",
            "description" : "Whether the recipients can change the delivery of the subscription",
            "default" : false
          },
          "allowPersonalizationChanges" : {
            "type" : "boolean",
            "description" : "Whether the recipients can personalize the subscription",
            "default" : false
          },
          "allowUnsubscribe" : {
            "type" : "boolean",
            "description" : "Whether the recipients can be unsubscribe from the subscription",
            "default" : false
          },
          "allowUnsubscribeFromEmail" : {
            "type" : "boolean",
            "description" : "Whether the recipients can unsubscribe from email",
            "default" : false
          },
          "sendNow" : {
            "type" : "boolean",
            "description" : "Indicates whether to execute the subscription immediately. [DssXmlPrivilegesUseSendPreviewNow](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSendPreviewNow) is required when sendNow is set to true.",
            "writeOnly" : true,
            "default" : false
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the subscription, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the subscription, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/Owner"
          },
          "schedules" : {
            "type" : "array",
            "description" : "Schedule that executes the subscription",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionSchedule"
            }
          },
          "contents" : {
            "type" : "array",
            "description" : "Content that is distributed with the subscription",
            "items" : {
              "$ref" : "#/components/schemas/Content"
            }
          },
          "bodyContents" : {
            "type" : "array",
            "description" : "Contents that are inserted into the email body, currently only supported for email delivery",
            "items" : {
              "$ref" : "#/components/schemas/Content"
            }
          },
          "excelTemplates" : {
            "type" : "array",
            "description" : "Excel template contents",
            "items" : {
              "$ref" : "#/components/schemas/ExcelTemplateContent"
            }
          },
          "recipients" : {
            "type" : "array",
            "description" : "Recipients of the subscription",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionRecipient"
            }
          },
          "delivery" : {
            "$ref" : "#/components/schemas/DeliveryProperties"
          },
          "lastRun" : {
            "type" : "string",
            "description" : "Last run time of the subscription, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "readOnly" : true
          },
          "nextDelivery" : {
            "type" : "string",
            "description" : "Next occurrence of the subscription, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "alert" : {
            "type" : "boolean",
            "description" : "Whether this is an alert subscription",
            "readOnly" : true
          }
        }
      },
      "SubscriptionExcelSheet" : {
        "type" : "object",
        "description" : "The settings of Excel sheet"
      },
      "SubscriptionFilter" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Filter type",
            "enum" : [ "refresh", "delete" ]
          },
          "expression" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "qualification" : {
            "type" : "object",
            "description" : "Data model filter expression. Only attribute form qualification is supported. Refer to the qualification field in [Attribute form qualifications](https://microstrategy.github.io/rest-api-docs/common-workflows/modeling/manage-filter-objects/create-a-filter-object/#attribute-form-qualifications) to create your own filter expression."
          }
        },
        "description" : "Subscription filter. The format of the subscription filters are exactly the same as the view filters. Please refer to [Code Sample: Filter Reports and Cubes Using View Filters](https://lw.microstrategy.com/msdz/MSDL/GARelease_Current/docs/projects/RESTSDK/Content/topics/REST_API/REST_API_Filtering_RptsCubes_ViewFilter_CodeSamples.htm#multiple_filters_on_attribute_forms) for detailed information. But it should be noted that subscription filters only support __Filter on attribute forms__ and __Multiple filters on attribute forms__."
      },
      "SubscriptionMacro" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The macro type (i.e. non_grid, attribute, metric, unknown)",
            "example" : "attribute",
            "enum" : [ "non_grid", "attribute", "metric, unknown" ]
          },
          "sourceObjectIds" : {
            "type" : "array",
            "description" : "The identifier of the objects that the macro is associated with. It is required for attribute and metric macros. For attribute macros, it is the attribute ID and attribute form ID. For metric macros, it is the metric ID.",
            "items" : {
              "type" : "string",
              "description" : "The identifier of the objects that the macro is associated with. It is required for attribute and metric macros. For attribute macros, it is the attribute ID and attribute form ID. For metric macros, it is the metric ID."
            }
          },
          "sourceContentIndex" : {
            "type" : "integer",
            "description" : "The index of the subscription content that the macro is associated with.It is required for attribute and metric macros if multiple contents are present.",
            "format" : "int32"
          }
        },
        "description" : "List of macros used in email body"
      },
      "SubscriptionTextMacro" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The macro type (i.e. non_grid, attribute, metric, unknown)",
            "example" : "attribute",
            "enum" : [ "non_grid", "attribute", "metric", "unknown" ]
          },
          "contentIndex" : {
            "minimum" : 1,
            "type" : "integer",
            "description" : "The index of the subscription content that the macro is associated with.",
            "format" : "int32"
          },
          "contentId" : {
            "type" : "string",
            "description" : "The ID of the subscription content that the macro is associated with.",
            "writeOnly" : true
          },
          "metricId" : {
            "type" : "string",
            "description" : "Metric ID used in macro."
          },
          "attributeId" : {
            "type" : "string",
            "description" : "Attribute ID used in macro."
          },
          "formId" : {
            "type" : "string",
            "description" : "Form ID of attribute used in macro"
          }
        },
        "description" : "The macros used in the text element."
      },
      "TableRefreshInfo" : {
        "required" : [ "id", "refreshPolicy" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Table ID"
          },
          "refreshPolicy" : {
            "type" : "string",
            "description" : "Table refresh policy",
            "enum" : [ "add", "delete", "update", "upsert", "replace", "ignore", "reserved" ]
          },
          "alternateSource" : {
            "$ref" : "#/components/schemas/AlternateSource"
          }
        },
        "description" : "Table refresh setting"
      },
      "TextElementInfo" : {
        "type" : "object",
        "properties" : {
          "html" : {
            "type" : "string",
            "description" : "The html string of the text element."
          },
          "macros" : {
            "type" : "array",
            "description" : "The macros used in the text element.",
            "items" : {
              "$ref" : "#/components/schemas/SubscriptionTextMacro"
            }
          }
        },
        "description" : "The information of a text element."
      },
      "WebContentPersonalization" : {
        "type" : "object",
        "properties" : {
          "mIsPushNotify" : {
            "type" : "boolean"
          },
          "mIsUpdateBadge" : {
            "type" : "boolean"
          },
          "mIsAlerting" : {
            "type" : "boolean"
          },
          "answerString" : {
            "type" : "string"
          },
          "burstUpperBound" : {
            "type" : "integer",
            "format" : "int32"
          },
          "burstLowerBound" : {
            "type" : "integer",
            "format" : "int32"
          },
          "transformation" : {
            "$ref" : "#/components/schemas/WebContentPersonalizationTransformation"
          },
          "burstList" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "burstDeviceId" : {
            "type" : "string"
          },
          "burstAttributeFormId" : {
            "type" : "string"
          },
          "burstAttributeId" : {
            "type" : "string"
          },
          "deltaXML" : {
            "type" : "string"
          },
          "burstLayoutKey" : {
            "type" : "string"
          }
        }
      },
      "WebContentPersonalizationTransformation" : {
        "type" : "object",
        "properties" : {
          "isUpdateBadge" : {
            "type" : "boolean"
          },
          "historyLinkUrl" : {
            "type" : "string"
          },
          "fileFormat" : {
            "type" : "integer",
            "format" : "int32"
          },
          "fileName" : {
            "type" : "string"
          },
          "fileNameMacros" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WebSubscriptionMacro"
            }
          },
          "spaceDelimiter" : {
            "type" : "string"
          },
          "mustInAttachment" : {
            "type" : "boolean"
          },
          "badgeMetricId" : {
            "type" : "string"
          },
          "historyLinkWebServer" : {
            "type" : "string"
          }
        }
      },
      "WebSubscriptionMacro" : {
        "type" : "object",
        "properties" : {
          "attributeFormId" : {
            "type" : "string"
          },
          "metricId" : {
            "type" : "string"
          },
          "attributeId" : {
            "type" : "string"
          },
          "contentId" : {
            "type" : "string"
          },
          "contentIndex" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ZipSettings" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string",
            "description" : "Filename of the compressed content"
          },
          "password" : {
            "type" : "string",
            "description" : "Optional password for the compressed file",
            "writeOnly" : true
          },
          "passwordProtect" : {
            "type" : "boolean",
            "description" : "Whether to password protect file or not"
          }
        },
        "description" : "Optional compression settings"
      },
      "PromptDefinitions" : {
        "type" : "object",
        "properties" : {
          "prompts" : {
            "type" : "array",
            "description" : "List of prompt definitions",
            "items" : {
              "$ref" : "#/components/schemas/PromptDefinition"
            }
          }
        }
      },
      "Recipient" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the component"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the component",
            "readOnly" : true
          },
          "isGroup" : {
            "type" : "boolean",
            "description" : "Whether the recipient is a group",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the recipient",
            "enum" : [ "contact_group", "user_group", "contact", "user", "personal_address", "all_consumers", "dynamic_recipient_list", "unsupported" ]
          }
        },
        "description" : "List of recipients"
      },
      "Recipients" : {
        "type" : "object",
        "properties" : {
          "recipients" : {
            "type" : "array",
            "description" : "List of recipients",
            "items" : {
              "$ref" : "#/components/schemas/Recipient"
            }
          }
        }
      },
      "StatusContent" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Content name"
          },
          "error" : {
            "$ref" : "#/components/schemas/StatusError"
          },
          "nodeName" : {
            "type" : "string",
            "description" : "Node name"
          }
        },
        "description" : "Subscription contents"
      },
      "StatusDestination" : {
        "type" : "object",
        "properties" : {
          "destination" : {
            "type" : "string",
            "description" : "Destination"
          },
          "error" : {
            "$ref" : "#/components/schemas/StatusError"
          },
          "nodeName" : {
            "type" : "string",
            "description" : "Node name"
          },
          "start" : {
            "type" : "string",
            "description" : "Start time in ISO 8601 format YYYY-MM-DDTHH:mm:ss.sss+/-HH:MM",
            "example" : "2024-01-02T03:04:56.789-0000"
          },
          "end" : {
            "type" : "string",
            "description" : "End time in ISO 8601 format YYYY-MM-DDTHH:mm:ss.sss+/-HH:MM",
            "example" : "2024-01-02T03:04:56.789-0000"
          },
          "address" : {
            "type" : "string",
            "description" : "Address"
          },
          "contents" : {
            "type" : "array",
            "description" : "Subscription contents",
            "items" : {
              "$ref" : "#/components/schemas/StatusContent"
            }
          }
        },
        "description" : "Destinations"
      },
      "StatusDetail" : {
        "type" : "object",
        "properties" : {
          "recipient" : {
            "type" : "string",
            "description" : "Recipient"
          },
          "error" : {
            "$ref" : "#/components/schemas/StatusError"
          },
          "destinations" : {
            "type" : "array",
            "description" : "Destinations",
            "items" : {
              "$ref" : "#/components/schemas/StatusDestination"
            }
          },
          "contents" : {
            "type" : "array",
            "description" : "Subscription contents",
            "items" : {
              "$ref" : "#/components/schemas/StatusContent"
            }
          }
        },
        "description" : "Subscription detailed statuses"
      },
      "StatusError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          }
        },
        "description" : "Error"
      },
      "SubscriptionStatus" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Subscription ID"
          },
          "stage" : {
            "type" : "integer",
            "description" : "Stage of the subscription",
            "format" : "int32"
          },
          "state" : {
            "type" : "integer",
            "description" : "State of the subscription",
            "format" : "int32"
          },
          "total" : {
            "type" : "integer",
            "description" : "Total number of statuses",
            "format" : "int64"
          },
          "failure" : {
            "type" : "integer",
            "description" : "Count of failed statuses",
            "format" : "int64"
          },
          "estimate" : {
            "type" : "integer",
            "description" : "Estimated time remaining in seconds",
            "format" : "int32"
          },
          "expiration" : {
            "type" : "string",
            "description" : "Subscription expiration time"
          },
          "start" : {
            "type" : "string",
            "description" : "Subscription start time in ISO 8601 format YYYY-MM-DDTHH:mm:ss.sss+/-HH:MM",
            "example" : "2024-01-02T03:04:56.789-0000"
          },
          "end" : {
            "type" : "string",
            "description" : "Subscription end time in ISO 8601 format YYYY-MM-DDTHH:mm:ss.sss+/-HH:MM",
            "example" : "2024-01-02T03:04:56.789-0000"
          },
          "contents" : {
            "type" : "array",
            "description" : "Subscription contents",
            "items" : {
              "$ref" : "#/components/schemas/StatusContent"
            }
          },
          "statuses" : {
            "type" : "array",
            "description" : "Subscription detailed statuses",
            "items" : {
              "$ref" : "#/components/schemas/StatusDetail"
            }
          }
        }
      },
      "Subscriptions" : {
        "type" : "object",
        "properties" : {
          "subscriptions" : {
            "type" : "array",
            "description" : "List of subscriptions",
            "items" : {
              "$ref" : "#/components/schemas/Subscription"
            }
          }
        }
      },
      "SubscriptionQueryRequest" : {
        "type" : "object",
        "properties" : {
          "projectIds" : {
            "type" : "array",
            "description" : "Project id collection which is used for filtering data",
            "items" : {
              "type" : "string",
              "description" : "Project id collection which is used for filtering data"
            }
          }
        }
      },
      "BurstingAttribute" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "forms" : {
            "type" : "array",
            "description" : "Array of bursting attribute forms",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/BurstingAttributeForm"
            }
          },
          "dataset" : {
            "type" : "string",
            "description" : "Dataset id to which the attribute belongs",
            "readOnly" : true
          }
        },
        "description" : "List of Bursting Attributes"
      },
      "BurstingAttributeForm" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "baseFormCategory" : {
            "type" : "string",
            "description" : "Category of the attribute form",
            "readOnly" : true,
            "example" : "ID"
          },
          "baseFormType" : {
            "type" : "string",
            "description" : "Base type of the attribute form",
            "readOnly" : true,
            "example" : "number",
            "enum" : [ "hidden", "reserved", "datetime", "number", "text", "picture", "url", "email", "htmltag", "date", "time", "symbol", "bigdecimal", "phonenumber" ]
          }
        },
        "description" : "Array of bursting attribute forms",
        "readOnly" : true
      },
      "BurstingAttributes" : {
        "type" : "object",
        "properties" : {
          "burstingAttributes" : {
            "type" : "array",
            "description" : "List of Bursting Attributes",
            "items" : {
              "$ref" : "#/components/schemas/BurstingAttribute"
            }
          },
          "datasets" : {
            "type" : "array",
            "description" : "List of datasets when the content is a dashboard",
            "items" : {
              "$ref" : "#/components/schemas/IdAndName"
            }
          }
        }
      },
      "IdAndName" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "List of datasets when the content is a dashboard"
      },
      "PersonalAddress" : {
        "required" : [ "address", "deliveryMode", "deviceId", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the address",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the address",
            "example" : "address1"
          },
          "address" : {
            "type" : "string",
            "description" : "Physical value of the address",
            "example" : "mstr@microstrategy.com"
          },
          "deliveryMode" : {
            "type" : "string",
            "description" : "Delivery type of the address. Supported values include: EMAIL, FILE, FTP, PRINTER, ONEDRIVE, SHAREPOINT, S3, GOOGLEDRIVE.",
            "enum" : [ "EMAIL", "FILE", "PRINTER", "HISTORY_LIST", "CACHE", "MOBILE", "FTP", "ONEDRIVE", "SHAREPOINT", "S3", "GOOGLEDRIVE", "SNAPSHOT", "PERSONAL_VIEW", "SHARED_LINK", "UNSUPPORTED" ]
          },
          "deviceId" : {
            "type" : "string",
            "description" : "ID fo the device used by the address"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Whether the address is the default address",
            "example" : false,
            "default" : false
          }
        },
        "description" : "List of personal addresses"
      },
      "PersonalAddresses" : {
        "type" : "object",
        "properties" : {
          "personalAddresses" : {
            "type" : "array",
            "description" : "List of personal addresses",
            "items" : {
              "$ref" : "#/components/schemas/PersonalAddress"
            }
          }
        }
      },
      "SubscriptionPatch" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 250,
            "minLength" : 1,
            "type" : "string",
            "description" : "Name of the subscription",
            "example" : "My new subscription"
          },
          "softDisabled" : {
            "type" : "boolean",
            "description" : "Whether subscription is soft disabled",
            "writeOnly" : true,
            "example" : false
          }
        },
        "description" : "Subscription settings for PATCH operations - all fields are optional"
      },
      "PromptInfo" : {
        "required" : [ "contentId", "instanceId" ],
        "type" : "object",
        "properties" : {
          "contentId" : {
            "type" : "string",
            "description" : "The content ID associated with subscription",
            "writeOnly" : true
          },
          "instanceId" : {
            "type" : "string",
            "description" : "The content instance ID with the desired prompt answers",
            "writeOnly" : true
          }
        },
        "description" : "The content ID and the desired prompt answers with subscription"
      },
      "TaskContentDTO" : {
        "type" : "object",
        "properties" : {
          "contentInfo" : {
            "$ref" : "#/components/schemas/TaskContentObjectInfo"
          }
        },
        "description" : "Task content"
      },
      "TaskContentObjectInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          }
        }
      },
      "TaskDTO" : {
        "type" : "object",
        "properties" : {
          "active" : {
            "type" : "string",
            "description" : "Is task active = 0: active, 1: inactive, 2: expired",
            "enum" : [ "0", "1", "2" ]
          },
          "expiration" : {
            "type" : "string",
            "description" : "Expiration date",
            "format" : "date-time"
          },
          "expirationTimeZone" : {
            "type" : "string",
            "description" : "The time zone of the admin task's expiration date"
          },
          "id" : {
            "type" : "string",
            "description" : "Task ID"
          },
          "type" : {
            "type" : "string",
            "description" : "Task type",
            "enum" : [ "invalid", "workflow", "script" ]
          },
          "name" : {
            "type" : "string",
            "description" : "Task name"
          },
          "schedule" : {
            "$ref" : "#/components/schemas/Schedule"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "executor" : {
            "$ref" : "#/components/schemas/ObjectNameAndId"
          },
          "content" : {
            "$ref" : "#/components/schemas/TaskContentDTO"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time,  \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Creation time,  \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time"
          },
          "lastRun" : {
            "$ref" : "#/components/schemas/TaskRunStatusDTO"
          }
        },
        "description" : "Task model"
      },
      "TaskRunStatusDTO" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Task execution status",
            "enum" : [ "reserve", "running", "failed", "success", "timeout" ]
          },
          "message" : {
            "type" : "string",
            "description" : "Task execution message"
          },
          "timeTriggered" : {
            "type" : "string",
            "description" : "Task execution triggered time",
            "format" : "date-time"
          },
          "timeFinished" : {
            "type" : "string",
            "description" : "Task execution finished time",
            "format" : "date-time"
          },
          "triggerUserId" : {
            "type" : "string",
            "description" : "The ID of the user who triggered the task"
          },
          "triggerUserName" : {
            "type" : "string",
            "description" : "The name of the user who triggered the task"
          },
          "node" : {
            "type" : "string",
            "description" : "The cluster node on which the task is executed"
          }
        },
        "description" : "Task execution information in response."
      },
      "TaskActiveStateRequest" : {
        "type" : "object",
        "properties" : {
          "expiration" : {
            "type" : "string",
            "description" : "Task expiration of the admin task, format should be yyyy-MM-dd",
            "example" : "2023-12-31"
          },
          "expirationTimeZone" : {
            "type" : "string",
            "description" : "The time zone of the admin task's expiration date",
            "example" : "Europe/London"
          }
        },
        "description" : "Activate a task"
      },
      "TaskContentRequest" : {
        "type" : "object",
        "description" : "Task content request. The content structure varies depending the task type. If the variables.type is Sensitive(\"4\"), the variables.value should be encrypted by RIPEMD160 algorithm. The variable enum is \n enum EnumVariableType {\n        Unknown(\"-1\"),\n        Reserved(\"0\"),\n        Text(\"1\"),\n        Numerical(\"2\"),\n        Date(\"3\"),\n        Sensitive(\"4\"),\n        DateTime(\"5\"),\n        SystemPrompt(\"4106\"),\n        TxnRowProvenance(\"32769\");\n}For script task, the content is {  \"objectId\": \"stringScriptObjId\",  \"variables\": [    {\"id\": \"id1\", \"value\": \"string\", \"type\": \"2\"},    {\"id\": \"id2\", \"value\": \"string2\", \"type\": \"4\"},}  ]}. For workflow task, the content is {  \"objectId\": \"stringWorkflowObjId\",  \"versionId\": \"string\",  \"entryProcessId\": \"string\",  \"variables\": [    { \"id\": \"idA\", \"value\": \"stringA\", \"type\": \"2\"},    { \"id\": \"idB\", \"value\": \"stringB\",\"type\": \"4\"}  ],  \"description\": \"string\",  \"expiredOn\": 0}. "
      },
      "TaskRequest" : {
        "required" : [ "content", "name", "scheduleId", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "Task type",
            "enum" : [ "invalid", "workflow", "script" ]
          },
          "scheduleId" : {
            "type" : "string",
            "description" : "Schedule ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Task name"
          },
          "content" : {
            "$ref" : "#/components/schemas/TaskContentRequest"
          },
          "expiration" : {
            "type" : "string",
            "description" : "Task expiration of the admin task, format should be yyyy-MM-dd",
            "example" : "2023-12-31"
          },
          "expirationTimeZone" : {
            "type" : "string",
            "description" : "The time zone of the admin task's expiration date",
            "example" : "Europe/London"
          },
          "active" : {
            "type" : "integer",
            "description" : "Activate/Inactivate the admin task",
            "format" : "int32",
            "example" : 1,
            "default" : 1
          }
        },
        "description" : "Create or modify task"
      },
      "TaskList" : {
        "type" : "object",
        "properties" : {
          "tasks" : {
            "type" : "array",
            "description" : "Task list",
            "items" : {
              "$ref" : "#/components/schemas/TaskDTO"
            }
          }
        },
        "description" : "Task list"
      },
      "TeamsAppAzureConfiguration" : {
        "required" : [ "appId", "tenantId" ],
        "type" : "object",
        "properties" : {
          "appId" : {
            "type" : "string"
          },
          "tenantId" : {
            "type" : "string"
          },
          "clientSecret" : {
            "type" : "string"
          }
        }
      },
      "TeamsAppConfiguration" : {
        "required" : [ "authMode", "azure", "id", "libraryUrl", "name", "version" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          },
          "authMode" : {
            "type" : "string",
            "enum" : [ "SSO", "LibraryAuth" ]
          },
          "userClaimMapping" : {
            "type" : "string"
          },
          "libraryUrl" : {
            "type" : "string"
          },
          "azure" : {
            "$ref" : "#/components/schemas/TeamsAppAzureConfiguration"
          },
          "applicationId" : {
            "type" : "string"
          },
          "enableChat" : {
            "type" : "boolean"
          }
        }
      },
      "TestCenterFileDto" : {
        "required" : [ "creationDate", "creator", "extension", "lastUpdatedDate", "name", "sha256", "size" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "File id."
          },
          "type" : {
            "type" : "string",
            "description" : "TestCenter: This is a file used in test center service.",
            "enum" : [ "testCenter" ]
          },
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "existing" : {
            "type" : "boolean",
            "description" : "False means this file is not uploaded completed."
          },
          "size" : {
            "maximum" : 2147483648,
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "file creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "file last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "rewritable" : {
            "type" : "boolean"
          }
        }
      },
      "TestCenterFileCreateDto" : {
        "required" : [ "extension", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "type" : {
            "type" : "string",
            "description" : "testCenter: It is a test center file.",
            "enum" : [ "testCenter" ]
          },
          "size" : {
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "rewritable" : {
            "type" : "boolean"
          }
        }
      },
      "TargetKeys" : {
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "The ID of the key"
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the key",
            "enum" : [ "control_key", "field_key", "other" ]
          }
        },
        "description" : "List of target keys and their types."
      },
      "ThemeCreationInfo" : {
        "type" : "object",
        "properties" : {
          "themeId" : {
            "type" : "string",
            "description" : "GUID of the theme template. If not specified, uses default theme."
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance ID of the dossier or report from which the target keys are will be used for the theme."
          },
          "keys" : {
            "type" : "array",
            "description" : "List of target keys and their types.",
            "items" : {
              "$ref" : "#/components/schemas/TargetKeys"
            }
          }
        }
      },
      "ThemeSaveAsInfo" : {
        "required" : [ "folderId", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the new theme."
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the theme."
          },
          "folderId" : {
            "type" : "string",
            "description" : "Destination folder ID."
          },
          "overwrite" : {
            "type" : "boolean",
            "description" : "When true, will overwrite existing one for cases such as saving editing result.",
            "default" : false
          }
        }
      },
      "EmailTransmitterProperties" : {
        "required" : [ "replyToDisplayName", "replyToEmailAddress", "senderDisplayName", "senderEmailAddress" ],
        "type" : "object",
        "properties" : {
          "senderDisplayName" : {
            "type" : "string",
            "description" : "Name used in the email headers to indicate message sender",
            "example" : "MicroStrategy Distribution Services"
          },
          "senderEmailAddress" : {
            "type" : "string",
            "description" : "Address used in the email headers to indicate message sender",
            "example" : "DistributionServices@MicroStrategy.com"
          },
          "replyToDisplayName" : {
            "type" : "string",
            "description" : "Name used in the email headers to indicate destination for replies",
            "example" : "MicroStrategy Distribution Services"
          },
          "replyToEmailAddress" : {
            "type" : "string",
            "description" : "Address used in the email headers to indicate destination for replies",
            "example" : "DistributionServices@MicroStrategy.com"
          },
          "recipientFieldType" : {
            "type" : "string",
            "description" : "Default field in which recipient address appear (e.g. to/cc/bcc)",
            "default" : "to",
            "enum" : [ "to", "cc", "bcc" ]
          },
          "saveMessageToFile" : {
            "type" : "boolean",
            "description" : "Save message output to file",
            "example" : false,
            "default" : false
          },
          "sendMessageViaSmtp" : {
            "type" : "boolean",
            "description" : "Send messages to recipients via SMTP",
            "example" : false,
            "default" : false
          },
          "saveFilePath" : {
            "type" : "string",
            "description" : "The folder path to save the email output"
          },
          "notifyOnSuccess" : {
            "type" : "boolean",
            "description" : "Request notification on Success",
            "example" : false,
            "default" : false
          },
          "notifyOnFailure" : {
            "type" : "boolean",
            "description" : "Request notification on Failure",
            "example" : false,
            "default" : false
          },
          "notificationEmailAddress" : {
            "type" : "string",
            "description" : "Email address for notification"
          }
        },
        "description" : "Properties specific to Email Transmitters"
      },
      "Transmitter" : {
        "required" : [ "deliveryType", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Transmitter name",
            "example" : "New transmitter"
          },
          "id" : {
            "type" : "string",
            "description" : "Transmitter ID",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the transmitter, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the transmitter, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "Transmitter description"
          },
          "deliveryType" : {
            "type" : "string",
            "description" : "Type of the transmitter",
            "enum" : [ "email", "file", "ftp", "print", "android", "iphone", "ipad", "sharepoint", "onedrive", "s3", "googledrive", "unsupported" ]
          },
          "emailTransmitterProperties" : {
            "$ref" : "#/components/schemas/EmailTransmitterProperties"
          }
        }
      },
      "Transmitters" : {
        "type" : "object",
        "properties" : {
          "transmitters" : {
            "type" : "array",
            "description" : "List of transmitters",
            "items" : {
              "$ref" : "#/components/schemas/Transmitter"
            }
          }
        }
      },
      "IserverAsyncTaskCreatedDTO" : {
        "type" : "object",
        "properties" : {
          "link" : {
            "$ref" : "#/components/schemas/IserverAsyncTaskDetail"
          }
        }
      },
      "IserverAsyncTaskDetail" : {
        "type" : "object",
        "properties" : {
          "href" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          }
        }
      },
      "PasswordChangeInfo" : {
        "required" : [ "newPassword", "oldPassword", "username" ],
        "type" : "object",
        "properties" : {
          "server" : {
            "type" : "string",
            "description" : "Server name or IP address"
          },
          "username" : {
            "type" : "string",
            "description" : "Username"
          },
          "oldPassword" : {
            "type" : "string",
            "description" : "Old password"
          },
          "newPassword" : {
            "type" : "string",
            "description" : "New password"
          },
          "port" : {
            "type" : "integer",
            "description" : "Server port",
            "format" : "int32"
          }
        }
      },
      "UserAddressCreationInfo" : {
        "required" : [ "name", "value" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "User-specified name for the address"
          },
          "deliveryMode" : {
            "type" : "string",
            "description" : "Delivery mode for the address - such as Email, File, Printer and FTP. Email is the default and is the only mode currently supported.",
            "enum" : [ "EMAIL" ]
          },
          "device" : {
            "type" : "string",
            "description" : "Specifies email type - Generic email is set to default and recommended",
            "enum" : [ "GENERIC_EMAIL", "MICROSOFT_OUTLOOK", "MICROSOFT_OUTLOOK_EXPRESS", "MICROSOFT_OUTLOOK_WEB_ACCESS", "WEBMAIL" ]
          },
          "value" : {
            "type" : "string",
            "description" : "The actual value of the address - for example,the email address associated with this address name/id"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Specifies whether this address is the default address"
          },
          "default" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        }
      },
      "BasicGroupInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Group ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Group name"
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          }
        },
        "description" : "IDs and names of direct parent groups for user"
      },
      "Timezone" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The id of the timezone object."
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the timezone object."
          }
        },
        "description" : "User default timezone"
      },
      "UserInfo" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "User object type. It is usually 34. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "User object sub-type. It is usually 8704. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "access" : {
            "$ref" : "#/components/schemas/Access"
          },
          "securityFilter" : {
            "$ref" : "#/components/schemas/SecurityFilterInfo"
          },
          "groups" : {
            "type" : "array",
            "description" : "Specifies the groups of the user. Each string in the list represents a group ID.",
            "items" : {
              "type" : "string",
              "description" : "Specifies the groups of the user. Each string in the list represents a group ID."
            }
          },
          "username" : {
            "type" : "string",
            "description" : "Specifies the username of the user"
          },
          "fullName" : {
            "type" : "string",
            "description" : "Specifies the full name of the user"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether user is allowed to log in"
          },
          "passwordModifiable" : {
            "type" : "boolean",
            "description" : "Specifies whether user password can be modified"
          },
          "passwordAutoExpire" : {
            "type" : "boolean",
            "description" : "Specifies whether password will expire or not."
          },
          "passwordExpirationDate" : {
            "type" : "string",
            "description" : "Expiration date of user password, \"yyyy-MM-dd HH:mm:ss\" in UTC. The value of password modifiable and auto expiry date should be true.",
            "format" : "date-time"
          },
          "passwordExpirationFrequency" : {
            "type" : "integer",
            "description" : "The frequency of password expiration in days",
            "format" : "int32"
          },
          "requireNewPassword" : {
            "type" : "boolean",
            "description" : "Specifies whether user is required to provide a new password"
          },
          "standardAuth" : {
            "type" : "boolean",
            "description" : "Specifies whether standard authentication is allowed for user"
          },
          "ldapdn" : {
            "type" : "string",
            "description" : "LDAP distinguished name"
          },
          "memberships" : {
            "type" : "array",
            "description" : "IDs and names of direct parent groups for user",
            "items" : {
              "$ref" : "#/components/schemas/BasicGroupInfo"
            }
          },
          "trustId" : {
            "type" : "string",
            "description" : "Unique user ID provided by trusted authentication provider (which maps to the MicroStrategy user)"
          },
          "ssoScopes" : {
            "type" : "array",
            "description" : "A list of SSO Configuration IDs of the SAML/OIDC trusted user",
            "items" : {
              "type" : "string",
              "description" : "A list of SSO Configuration IDs of the SAML/OIDC trusted user"
            }
          },
          "databaseAuthLogin" : {
            "type" : "string",
            "description" : "Database Authentication Login"
          },
          "languageId" : {
            "type" : "string",
            "description" : "User's language ID that will be set as user's language"
          },
          "profileImage" : {
            "type" : "string",
            "description" : "Profile image of the IServer user"
          },
          "initials" : {
            "type" : "string",
            "description" : "User initials, calculated based on user's last name or username"
          },
          "defaultEmailAddress" : {
            "type" : "string",
            "description" : "Default email address of the user"
          },
          "defaultTimezone" : {
            "$ref" : "#/components/schemas/Timezone"
          }
        }
      },
      "UserCreationInfo" : {
        "required" : [ "fullName", "username" ],
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string",
            "description" : "User login name"
          },
          "fullName" : {
            "type" : "string",
            "description" : "User full name"
          },
          "description" : {
            "type" : "string",
            "description" : "User description [default to empty]"
          },
          "password" : {
            "type" : "string",
            "description" : "Standard login password for user, [default to empty]"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether user is allowed to log in  [default to empty]"
          },
          "passwordModifiable" : {
            "type" : "boolean",
            "description" : "Specifies whether user password can be modified"
          },
          "passwordAutoExpire" : {
            "type" : "boolean",
            "description" : "Specifies whether user password will expire"
          },
          "passwordExpirationDate" : {
            "type" : "string",
            "description" : "Expiration date of user password, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "passwordExpirationFrequency" : {
            "maximum" : 999,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Password expiration frequency in days",
            "format" : "int32"
          },
          "requireNewPassword" : {
            "type" : "boolean",
            "description" : "Specifies whether user is required to provide a new password"
          },
          "standardAuth" : {
            "type" : "boolean",
            "description" : "Specifies whether standard authentication is allowed for user"
          },
          "ldapdn" : {
            "type" : "string",
            "description" : "User's LDAP distinguished name"
          },
          "trustId" : {
            "type" : "string",
            "description" : "Unique user ID provided by trusted authentication provider (which maps to the MicroStrategy user)"
          },
          "ssoScopes" : {
            "type" : "array",
            "description" : "A list of SSO Configuration IDs of the SAML/OIDC trusted user",
            "items" : {
              "type" : "string",
              "description" : "A list of SSO Configuration IDs of the SAML/OIDC trusted user"
            }
          },
          "databaseAuthLogin" : {
            "type" : "string",
            "description" : "Database Authentication Login"
          },
          "memberships" : {
            "type" : "array",
            "description" : "IDs of direct parent groups for user  [default to empty]",
            "items" : {
              "type" : "string",
              "description" : "IDs of direct parent groups for user  [default to empty]"
            }
          },
          "defaultTimezone" : {
            "$ref" : "#/components/schemas/Timezone"
          },
          "languageId" : {
            "type" : "string",
            "description" : "User's language ID that will be set as the user's language"
          }
        }
      },
      "UserProfileRequest" : {
        "type" : "object",
        "properties" : {
          "locationId" : {
            "type" : "string",
            "description" : "The id of the folder where the user profile will be saved"
          }
        }
      },
      "DeleteProfileMultiResponse" : {
        "type" : "object",
        "properties" : {
          "profileDeletionStatus" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeleteProfileStatus"
            }
          }
        }
      },
      "DeleteProfileStatus" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "body" : {
            "$ref" : "#/components/schemas/error"
          }
        }
      },
      "QuotaUsage" : {
        "type" : "object",
        "properties" : {
          "size" : {
            "maximum" : 2251799812636672,
            "minimum" : -1,
            "type" : "integer",
            "description" : "Quota size (in MB)",
            "format" : "int64"
          },
          "usage" : {
            "type" : "integer",
            "description" : "The usage of the quota in bytes",
            "format" : "int64"
          }
        }
      },
      "Quota" : {
        "type" : "object",
        "properties" : {
          "userId" : {
            "type" : "string"
          },
          "quotas" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/QuotaInfo"
            }
          }
        }
      },
      "UserSecurityFilter" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "securityFilters" : {
            "type" : "array",
            "description" : "List of Security filters",
            "items" : {
              "$ref" : "#/components/schemas/SecurityFilterInfo"
            }
          }
        }
      },
      "SystemPrompt" : {
        "required" : [ "index", "prompt" ],
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "integer",
            "format" : "int32"
          },
          "prompt" : {
            "$ref" : "#/components/schemas/AttributeInfo"
          }
        }
      },
      "SystemPromptsDTO" : {
        "required" : [ "systemPrompts" ],
        "type" : "object",
        "properties" : {
          "systemPrompts" : {
            "type" : "array",
            "description" : "List of system prompt",
            "items" : {
              "$ref" : "#/components/schemas/SystemPrompt"
            }
          }
        },
        "description" : "Collection of system prompts"
      },
      "UserFullPrivileges" : {
        "type" : "object",
        "properties" : {
          "privileges" : {
            "type" : "array",
            "description" : "Full list of privileges of a user or user group",
            "items" : {
              "$ref" : "#/components/schemas/PrivilegeWithSources"
            }
          }
        }
      },
      "AiRequestQuota" : {
        "required" : [ "max", "remaining" ],
        "type" : "object",
        "properties" : {
          "max" : {
            "type" : "integer",
            "description" : "Maximum number of AI requests that the user can send. -1 means unlimited",
            "format" : "int32"
          },
          "remaining" : {
            "type" : "integer",
            "description" : "Remaining AI requests that the user can send",
            "format" : "int32"
          }
        },
        "description" : "AI request quota for a user. Here AI request means any request that will be sent to AI Service"
      },
      "QuestionQuota" : {
        "required" : [ "max", "remaining" ],
        "type" : "object",
        "properties" : {
          "max" : {
            "type" : "integer",
            "description" : "Maximum number of questions that the user can ask. -1 means unlimited",
            "format" : "int32"
          },
          "remaining" : {
            "type" : "integer",
            "description" : "Remaining questions that the user can ask",
            "format" : "int32"
          }
        },
        "description" : "Question quota for a user"
      },
      "UserQuota" : {
        "required" : [ "aiRequestQuota", "expireAt", "questionQuota" ],
        "type" : "object",
        "properties" : {
          "expireAt" : {
            "type" : "string",
            "description" : "Specific expire date for a user"
          },
          "questionQuota" : {
            "$ref" : "#/components/schemas/QuestionQuota"
          },
          "aiRequestQuota" : {
            "$ref" : "#/components/schemas/AiRequestQuota"
          }
        }
      },
      "DefaultCalendar" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The ID of the calendar"
          }
        },
        "description" : "User calendar preference"
      },
      "DefaultLanguage" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Language ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Language name"
          }
        },
        "description" : "User language preference"
      },
      "DefaultTimeZone" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Timezone ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Timezone name"
          }
        },
        "description" : "User timezone preference"
      },
      "JobMemGovInfo" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "integer",
            "description" : "The value of Job Memory returned by user settings. This field can have specific integer values:<br>\n* `-2`: Inherited. The setting is inherited from parent user groups.<br>\n* `-1`: Unlimited. The settings may take unlimited memory.<br>\n* `0`: Automatic. The memory is automatically adjusted based on different machine or container memory limit.<br>\n* Any integer value between 256 and 9,999,999: Customized. The value indicates the configured memory in megabytes (MB).\n",
            "format" : "int64"
          },
          "effectiveValue" : {
            "type" : "integer",
            "description" : "The effective value of Job Memory returned by user settings",
            "format" : "int64"
          }
        },
        "description" : "Cube Job Memory Setting Information returned by user group's Cube Job Memory Governing settings"
      },
      "UserSettings" : {
        "type" : "object",
        "properties" : {
          "jobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovInfo"
          },
          "cubeJobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovInfo"
          },
          "defaultTimezone" : {
            "$ref" : "#/components/schemas/DefaultTimeZone"
          },
          "language" : {
            "$ref" : "#/components/schemas/DefaultLanguage"
          },
          "defaultCalendar" : {
            "$ref" : "#/components/schemas/DefaultCalendar"
          }
        }
      },
      "JobMemGovConfigValue" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "integer",
            "description" : "The value of Job Level Governing Config returned by user settings",
            "format" : "int64"
          }
        },
        "description" : "Cube Job Memory Setting Information returned by user group's Cube Job Memory Governing settings"
      },
      "UserSettingsUpdate" : {
        "type" : "object",
        "properties" : {
          "jobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovConfigValue"
          },
          "cubeJobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovConfigValue"
          },
          "defaultTimezone" : {
            "$ref" : "#/components/schemas/DefaultTimeZone"
          },
          "language" : {
            "$ref" : "#/components/schemas/DefaultLanguage"
          },
          "defaultCalendar" : {
            "$ref" : "#/components/schemas/DefaultCalendar"
          }
        }
      },
      "PatchOperationsUserPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserPatchOperation"
            }
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/username",
            "value" : "john1991"
          }, {
            "op" : "replace",
            "path" : "/description",
            "value" : "NewDescription"
          }, {
            "op" : "add",
            "path" : "/memberships",
            "value" : [ "73F7482511D3596C60001B8F67019608", "C82C6B1011D2894CC0009D9F29718E4F" ]
          }, {
            "op" : "remove",
            "path" : "/privileges",
            "value" : [ "148", "155" ]
          }, {
            "op" : "replace",
            "path" : "/defaultTimezone",
            "value" : {
              "id" : "C82C6B1011D2894CC0009D9F29718E4F"
            }
          } ]
        }
      },
      "UserPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "add", "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "UserAddressUpdateInfo" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "User-specified name for the address"
          },
          "deliveryMode" : {
            "type" : "string",
            "description" : "Delivery type, such as Email, File, Printer and FTP. Email is the default and is the only delivery type currently supported.",
            "enum" : [ "EMAIL" ]
          },
          "device" : {
            "type" : "string",
            "description" : "Content style for the delivery type. Recommended default is Generic email.",
            "enum" : [ "GENERIC_EMAIL", "MICROSOFT_OUTLOOK", "MICROSOFT_OUTLOOK_EXPRESS", "MICROSOFT_OUTLOOK_WEB_ACCESS", "WEBMAIL" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Actual value of the address, such as the email address associated with this address name/id"
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Specifies whether this address is the default address"
          },
          "default" : {
            "type" : "boolean",
            "writeOnly" : true
          }
        }
      },
      "PatchOperationsUserQuotaPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserQuotaPatchOperation"
            }
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/questionQuota/max",
            "value" : 100
          }, {
            "op" : "replace",
            "path" : "/expireAt",
            "value" : "2024-02-21T12:00:00Z"
          } ]
        }
      },
      "UserQuotaPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "replace" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "BasicMemberInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Member ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Member Name"
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          }
        }
      },
      "UsergroupInfo" : {
        "required" : [ "id", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "integer",
            "description" : "Object type. Possible values can be found in [EnumDSSXMLObjectTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectTypes.html)",
            "format" : "int32"
          },
          "mdTenantId" : {
            "type" : "string",
            "description" : "MD tenant ID"
          },
          "mdTenantName" : {
            "type" : "string",
            "description" : "MD tenant name"
          },
          "abbreviation" : {
            "type" : "string",
            "description" : "Object abbreviation"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "subtype" : {
            "type" : "integer",
            "description" : "Object sub-type. Possible values can be found in [EnumDSSXMLObjectSubTypes](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLObjectSubTypes.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "version" : {
            "type" : "string",
            "description" : "Object version ID",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. Possible values can be found in [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          },
          "acl" : {
            "type" : "array",
            "description" : "Object access control list",
            "items" : {
              "$ref" : "#/components/schemas/AccessControlEntryInfo"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Source"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "extType" : {
            "type" : "integer",
            "description" : "Object extended type. Possible values can be found in [EnumDSSExtendedType](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSExtendedType.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "iconPath" : {
            "type" : "string",
            "description" : "Object icon path",
            "readOnly" : true
          },
          "viewMedia" : {
            "type" : "integer",
            "description" : "View media settings",
            "format" : "int32",
            "readOnly" : true
          },
          "ancestors" : {
            "type" : "array",
            "description" : "List of ancestor folders",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "certifiedInfo" : {
            "$ref" : "#/components/schemas/CertifiedInfo"
          },
          "templateInfo" : {
            "$ref" : "#/components/schemas/TemplateInfo"
          },
          "longDescription" : {
            "type" : "string",
            "description" : "Object's long description; the first element in comments array"
          },
          "comments" : {
            "type" : "array",
            "description" : "Object's comments",
            "items" : {
              "type" : "string",
              "description" : "Object's comments"
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "targetInfo" : {
            "$ref" : "#/components/schemas/ObjectInfo"
          },
          "status" : {
            "type" : "string",
            "description" : "Object status",
            "enum" : [ "disabled", "enabled" ]
          },
          "reportCost" : {
            "type" : "integer",
            "description" : "Report Cost",
            "format" : "int32"
          },
          "access" : {
            "$ref" : "#/components/schemas/Access"
          },
          "securityFilter" : {
            "$ref" : "#/components/schemas/SecurityFilterInfo"
          },
          "groups" : {
            "type" : "array",
            "description" : "Specifies the groups of the user. Each string in the list represents a group ID.",
            "items" : {
              "type" : "string",
              "description" : "Specifies the groups of the user. Each string in the list represents a group ID."
            }
          },
          "memberships" : {
            "type" : "array",
            "description" : "IDs and names of direct parent groups for group",
            "items" : {
              "$ref" : "#/components/schemas/ObjectNameAndId"
            }
          },
          "members" : {
            "type" : "array",
            "description" : "IDs and names of direct members for group",
            "items" : {
              "$ref" : "#/components/schemas/BasicMemberInfo"
            }
          },
          "ldapdn" : {
            "type" : "string",
            "description" : "LDAP distinguished name"
          }
        }
      },
      "UsergroupCreationInfo" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "User group name"
          },
          "description" : {
            "type" : "string",
            "description" : "User group description, default to empty"
          },
          "memberships" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "IDs of parent usergroups, default to empty",
            "items" : {
              "type" : "string",
              "description" : "IDs of parent usergroups, default to empty"
            }
          },
          "members" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "IDs of child users or usergroups to be added to the usergroup, default to empty",
            "items" : {
              "type" : "string",
              "description" : "IDs of child users or usergroups to be added to the usergroup, default to empty"
            }
          },
          "ldapdn" : {
            "type" : "string",
            "description" : "Usergroup's LDAP distinguished name"
          }
        }
      },
      "UserGroupSettings" : {
        "type" : "object",
        "properties" : {
          "jobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovInfo"
          },
          "cubeJobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovInfo"
          }
        }
      },
      "UserGroupSettingsUpdate" : {
        "type" : "object",
        "properties" : {
          "jobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovConfigValue"
          },
          "cubeJobMemGoverning" : {
            "$ref" : "#/components/schemas/JobMemGovConfigValue"
          }
        }
      },
      "PatchOperationsUserGroupPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserGroupPatchOperation"
            }
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/name",
            "value" : "NewGroupName"
          }, {
            "op" : "remove",
            "path" : "/members",
            "value" : [ "C82C6B1011D2894CC0009D9F29718E4F" ]
          }, {
            "op" : "add",
            "path" : "/members",
            "value" : [ "E96A7BBD11D4BBCE10004694316DE8A4" ]
          }, {
            "op" : "add",
            "path" : "/privileges",
            "value" : [ 58, 157 ]
          } ]
        }
      },
      "UserGroupPatchOperation" : {
        "required" : [ "op", "path", "value" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Add, Replace or Remove operation to be performed",
            "enum" : [ "add", "replace", "remove" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "UserGroupUpdateInfo" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Updated user group name"
          },
          "description" : {
            "type" : "string",
            "description" : "Updated user group description"
          },
          "parentsAddition" : {
            "type" : "array",
            "description" : "Parent group IDs to be added",
            "items" : {
              "type" : "string",
              "description" : "Parent group IDs to be added"
            }
          },
          "parentsDeletion" : {
            "type" : "array",
            "description" : "Parent group IDs to be removed",
            "items" : {
              "type" : "string",
              "description" : "Parent group IDs to be removed"
            }
          },
          "membersAddition" : {
            "type" : "array",
            "description" : "Member user IDs to be added",
            "items" : {
              "type" : "string",
              "description" : "Member user IDs to be added"
            }
          },
          "membersDeletion" : {
            "type" : "array",
            "description" : "Member user IDs to be removed",
            "items" : {
              "type" : "string",
              "description" : "Member user IDs to be removed"
            }
          }
        }
      },
      "AccessKeyVaultAuthentication" : {
        "required" : [ "accessKeyId", "mode", "secretAccessKey" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/VaultServerAuthentication"
        }, {
          "type" : "object",
          "properties" : {
            "accessKeyId" : {
              "type" : "string",
              "description" : "Access key ID used for authentication"
            },
            "secretAccessKey" : {
              "type" : "string",
              "description" : "Secret access key used for authentication"
            }
          }
        } ]
      },
      "ExtraConfigs" : {
        "type" : "object"
      },
      "GoogleServiceAccountAuthentication" : {
        "required" : [ "mode", "saKeyContent" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/VaultServerAuthentication"
        }, {
          "type" : "object",
          "properties" : {
            "saKeyContent" : {
              "$ref" : "#/components/schemas/ObjectNode"
            }
          }
        } ]
      },
      "ObjectNode" : {
        "type" : "object",
        "description" : "Google service account used for authentication."
      },
      "TlsVaultAuthentication" : {
        "required" : [ "clientCertificate", "clientKey", "mode" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/VaultServerAuthentication"
        }, {
          "type" : "object",
          "properties" : {
            "clientCertificate" : {
              "type" : "string",
              "description" : "Client certificate used for Mutual TLS authentication"
            },
            "clientKey" : {
              "type" : "string",
              "description" : "Client key used for Mutual TLS authentication"
            },
            "clientKeyPassphrase" : {
              "type" : "string",
              "description" : "Passphrase for the client key, if applicable."
            },
            "caCertificate" : {
              "type" : "string",
              "description" : "CA certificate used for verifying the server certificate."
            }
          }
        } ]
      },
      "VaultConnection" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "cyberark", "hashicorp-community", "hashicorp-enterprise", "hcp-vault-dedicated", "aws", "azure", "hcp-vault-secrets", "google" ]
          },
          "vaultUrl" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "extraConfigs" : {
            "$ref" : "#/components/schemas/ExtraConfigs"
          },
          "authentication" : {
            "$ref" : "#/components/schemas/VaultServerAuthentication"
          }
        }
      },
      "VaultServerAuthentication" : {
        "required" : [ "mode" ],
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "description" : "Authentication mode",
            "enum" : [ "tls", "access-key", "google-sa-key" ]
          }
        },
        "discriminator" : {
          "propertyName" : "mode"
        }
      },
      "ChangeJournal" : {
        "type" : "object",
        "properties" : {
          "userComments" : {
            "type" : "string",
            "description" : "Change journal user comments"
          }
        },
        "description" : "Change Journal"
      },
      "VaultConnectionCreation" : {
        "required" : [ "authentication", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 250,
            "minLength" : 0,
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "cyberark", "hashicorp-community", "hashicorp-enterprise", "hcp-vault-dedicated", "aws", "azure", "hcp-vault-secrets", "google" ]
          },
          "authentication" : {
            "$ref" : "#/components/schemas/VaultServerAuthentication"
          },
          "changeJournal" : {
            "$ref" : "#/components/schemas/ChangeJournal"
          },
          "extraConfigs" : {
            "$ref" : "#/components/schemas/ExtraConfigs"
          },
          "vaultUrl" : {
            "type" : "string"
          }
        },
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "VaultConnectionCreationInfo" : {
        "required" : [ "authentication", "extraConfigs", "name", "vaultUrl" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/VaultConnectionCreation"
        } ]
      },
      "VaultConnectionStatus" : {
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "message" : {
            "type" : "string"
          }
        }
      },
      "VaultSecretInfo" : {
        "required" : [ "secretName" ],
        "type" : "object",
        "properties" : {
          "secretName" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "sensitiveInfos" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "VaultSecrets" : {
        "type" : "object",
        "properties" : {
          "secrets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/VaultSecretInfo"
            }
          }
        }
      },
      "VaultSecretsFetchCondition" : {
        "type" : "object",
        "properties" : {
          "secretNames" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "VaultConnectionExtraConfigsVaultServerAuthentication" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "id" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "cyberark", "hashicorp-community", "hashicorp-enterprise", "hcp-vault-dedicated", "aws", "azure", "hcp-vault-secrets", "google" ]
          },
          "vaultUrl" : {
            "type" : "string"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Creation time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time, \"yyyy-MM-dd HH:mm:ss\" in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "acg" : {
            "type" : "integer",
            "description" : "Object access rights. It a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32",
            "readOnly" : true
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Hidden status"
          },
          "extraConfigs" : {
            "$ref" : "#/components/schemas/ExtraConfigs"
          },
          "authentication" : {
            "$ref" : "#/components/schemas/VaultServerAuthentication"
          }
        }
      },
      "VaultConnections" : {
        "type" : "object",
        "properties" : {
          "vaults" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/VaultConnectionExtraConfigsVaultServerAuthentication"
            }
          }
        }
      },
      "PatchOperationsVaultConnectionPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/VaultConnectionPatchOperation"
            }
          }
        }
      },
      "VaultConnectionPatchOperation" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Operation to be performed",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          }
        }
      },
      "TrustRelationshipInfo" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Trust relationship status. For example, Enabled or Disabled",
            "example" : "Enabled"
          },
          "webserver" : {
            "type" : "string",
            "description" : "Web server URL",
            "example" : "http://localhost:8080/MicroStrategy/servlet/"
          }
        },
        "description" : "List of web server trust relationships"
      },
      "TrustRelationshipsResponse" : {
        "type" : "object",
        "properties" : {
          "webtrusted" : {
            "type" : "array",
            "description" : "List of web server trust relationships",
            "items" : {
              "$ref" : "#/components/schemas/TrustRelationshipInfo"
            }
          }
        }
      },
      "OperationResult" : {
        "type" : "object",
        "properties" : {
          "webServer" : {
            "type" : "string",
            "description" : "Web server URL",
            "example" : "http://localhost:8080/MicroStrategy/servlet/"
          },
          "op" : {
            "type" : "string",
            "description" : "Operation performed",
            "example" : "remove",
            "enum" : [ "remove", "enable", "disable" ]
          },
          "errorMessage" : {
            "type" : "string",
            "description" : "Error message if operation failed",
            "example" : "Web server not found"
          }
        },
        "description" : "Result of a single trust relationship operation"
      },
      "TrustRelationshipOperationResponse" : {
        "type" : "object",
        "properties" : {
          "succeeded" : {
            "type" : "array",
            "description" : "List of successfully completed operations",
            "items" : {
              "$ref" : "#/components/schemas/OperationResult"
            }
          },
          "failed" : {
            "type" : "array",
            "description" : "List of failed operations with error details",
            "items" : {
              "$ref" : "#/components/schemas/OperationResult"
            }
          }
        },
        "description" : "Trust relationship operations response with success and failure details"
      },
      "TrustRelationshipOperation" : {
        "required" : [ "op", "webServer" ],
        "type" : "object",
        "properties" : {
          "webServer" : {
            "type" : "string",
            "description" : "Web server URL of the trust relationship",
            "example" : "http://localhost:8080/MicroStrategy/servlet/"
          },
          "op" : {
            "pattern" : "^(remove|enable|disable)$",
            "type" : "string",
            "description" : "Operation to perform: remove, enable, or disable",
            "example" : "remove",
            "enum" : [ "remove", "enable", "disable" ]
          }
        },
        "description" : "Single trust relationship operation"
      },
      "TrustRelationshipRequest" : {
        "required" : [ "operationList" ],
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "description" : "List of trust relationship operations",
            "items" : {
              "$ref" : "#/components/schemas/TrustRelationshipOperation"
            }
          }
        },
        "description" : "Trust relationship batch request with operations to perform"
      },
      "WorkflowFileDto" : {
        "required" : [ "creationDate", "creator", "environment", "extension", "lastUpdatedDate", "name", "sha256", "size" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "File id."
          },
          "type" : {
            "type" : "string",
            "description" : "Workflow: It is a workflow file.",
            "enum" : [ "workflow" ]
          },
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "existing" : {
            "type" : "boolean",
            "description" : "False means this file is not uploaded completed."
          },
          "size" : {
            "maximum" : 2147483648,
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "creator" : {
            "$ref" : "#/components/schemas/Creator"
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          },
          "creationDate" : {
            "type" : "string",
            "description" : "file creation time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          },
          "lastUpdatedDate" : {
            "type" : "string",
            "description" : "file last update time, \"yyyy-MM-dd'T'HH:mm:ss.SSSZ\" in UTC",
            "format" : "date-time"
          }
        }
      },
      "WorkflowFileCreateDto" : {
        "required" : [ "environment", "extension", "name", "sha256", "size", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "File name."
          },
          "extension" : {
            "type" : "string",
            "description" : "Extension of the file name."
          },
          "type" : {
            "type" : "string",
            "description" : "workflow: It is a workflow file.",
            "enum" : [ "workflow" ]
          },
          "size" : {
            "type" : "integer",
            "description" : "File size.",
            "format" : "int64"
          },
          "sha256" : {
            "type" : "string",
            "description" : "The hash-based verification of this file, which is based on SHA-256."
          },
          "environment" : {
            "$ref" : "#/components/schemas/Environment"
          }
        }
      },
      "PageWorkflowFileDto" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "format" : "int64"
          },
          "offset" : {
            "type" : "integer",
            "format" : "int32"
          },
          "limit" : {
            "type" : "integer",
            "format" : "int32"
          },
          "data" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowFileDto"
            }
          }
        }
      },
      "BotCreateResponseDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent id."
          }
        }
      },
      "BotCopyRequestDto" : {
        "required" : [ "folderId", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Agent name."
          },
          "status" : {
            "type" : "string",
            "description" : "Agent status, It can be either 'draft' or 'published'.\nDraft: The agent is in draft mode and not available for use.\nPublished: The agent is published and available for use.",
            "enum" : [ "draft", "published" ]
          },
          "folderId" : {
            "type" : "string",
            "description" : "Agent folder id."
          },
          "operationList" : {
            "type" : "array",
            "description" : "operation for updating the Agent.",
            "items" : {
              "$ref" : "#/components/schemas/BotPatchOperation"
            }
          }
        }
      },
      "BotPatchHandler" : {
        "type" : "object"
      },
      "BotPatchOperation" : {
        "required" : [ "op", "path" ],
        "type" : "object",
        "properties" : {
          "op" : {
            "type" : "string",
            "description" : "Operation to be performed",
            "enum" : [ "add", "replace", "remove", "incr", "removeElement", "addElement", "removeElements", "addElements", "move", "copy" ]
          },
          "path" : {
            "pattern" : "/([/A-Za-z0-9~])*-*",
            "type" : "string",
            "description" : "Path to target where operation will be performed"
          },
          "value" : {
            "type" : "object",
            "description" : "Value used by operation [new value to add, new value used to replace existing value, existing value to be removed]"
          },
          "from" : {
            "type" : "string",
            "description" : "Path to source where operation will be performed"
          },
          "paths" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "froms" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "handler" : {
            "$ref" : "#/components/schemas/BotPatchHandler"
          }
        }
      },
      "BotCreateRequestDto" : {
        "type" : "object",
        "properties" : {
          "aiDatasetCollections" : {
            "type" : "array",
            "description" : "AI dataset collections.",
            "items" : {
              "$ref" : "#/components/schemas/DatasetCollectionCreateDto"
            }
          },
          "subBots" : {
            "type" : "array",
            "description" : "Sub Agents.",
            "items" : {
              "$ref" : "#/components/schemas/SubBotCreateDTO"
            }
          },
          "name" : {
            "type" : "string",
            "description" : "Agent name."
          },
          "templateId" : {
            "type" : "string",
            "description" : "Template bot ID."
          }
        }
      },
      "DatasetCollectionCreateDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dataset id."
          }
        },
        "description" : "AI dataset collections."
      },
      "SubBotCreateDTO" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Sub Agent id."
          }
        },
        "description" : "Sub Agents."
      },
      "ChatV2CreateResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chat ID"
          },
          "chatType" : {
            "type" : "integer",
            "description" : "chat type",
            "format" : "int32"
          },
          "messages" : {
            "type" : "array",
            "description" : "Chat messages",
            "items" : {
              "$ref" : "#/components/schemas/Message"
            }
          },
          "categories" : {
            "type" : "array",
            "description" : "Categories",
            "items" : {
              "$ref" : "#/components/schemas/Category"
            }
          }
        }
      },
      "BotCreateChatRequestDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "chat id."
          },
          "type" : {
            "type" : "integer",
            "description" : "chat type",
            "format" : "int32"
          }
        }
      },
      "AgentEvaluationJobResultDto" : {
        "type" : "object",
        "properties" : {
          "jobId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "started", "in_progress", "completed", "cancellation_requested", "error", "aborted", "not_started", "unknown" ]
          }
        }
      },
      "AgentTuningJobResultDto" : {
        "type" : "object",
        "properties" : {
          "jobId" : {
            "type" : "string"
          },
          "status" : {
            "type" : "string",
            "enum" : [ "started", "in_progress", "completed", "cancellation_requested", "error", "aborted", "not_started", "unknown" ]
          }
        }
      },
      "ChatV2GetResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chat ID"
          },
          "questions" : {
            "type" : "array",
            "description" : "Chat QA",
            "items" : {
              "$ref" : "#/components/schemas/AutomaticRoutingQuestionGetDto"
            }
          },
          "creationDate" : {
            "type" : "string",
            "description" : "Creation date of chat",
            "format" : "date-time"
          },
          "cycleEndDate" : {
            "type" : "string",
            "description" : "End date of current cycle",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string",
            "description" : "chat name"
          },
          "chatType" : {
            "type" : "integer",
            "description" : "chat type",
            "format" : "int32"
          },
          "timestamp" : {
            "type" : "string",
            "description" : "modified timestamp",
            "format" : "date-time"
          }
        },
        "description" : "List of chat objects"
      },
      "BotV2ColumnsDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent id."
          },
          "columns" : {
            "type" : "array",
            "description" : "The columns of the Agent.",
            "items" : {
              "type" : "string",
              "description" : "The columns of the Agent."
            }
          }
        }
      },
      "AgentSqlBasedOnConfigurationDto" : {
        "type" : "object",
        "properties" : {
          "action" : {
            "type" : "string",
            "enum" : [ "1", "2", "3", "4", "5", "6" ]
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlObjectDto"
            }
          },
          "filters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlFilterDto"
            }
          },
          "orderByList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlOrderByDto"
            }
          },
          "groupByList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlGroupByDto"
            }
          }
        }
      },
      "AgentSqlBasedOnDto" : {
        "type" : "object",
        "properties" : {
          "object" : {
            "$ref" : "#/components/schemas/AgentSqlObjectDto"
          },
          "configurations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlBasedOnConfigurationDto"
            }
          }
        }
      },
      "AgentSqlFilterConditionDto" : {
        "type" : "object",
        "properties" : {
          "object" : {
            "$ref" : "#/components/schemas/AgentSqlObjectDto"
          },
          "operator" : {
            "type" : "string",
            "enum" : [ "1", "2" ]
          },
          "element" : {
            "type" : "string"
          }
        }
      },
      "AgentSqlFilterDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "conditions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlFilterConditionDto"
            }
          }
        }
      },
      "AgentSqlGroupByDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlObjectDto"
            }
          }
        }
      },
      "AgentSqlGuardDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "forbiddenObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlObjectDto"
            }
          }
        }
      },
      "AgentSqlObjectDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "attributeId" : {
            "type" : "string"
          },
          "datasetId" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "1", "2" ]
          }
        }
      },
      "AgentSqlOrderByDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlObjectDto"
            }
          },
          "descending" : {
            "type" : "boolean"
          }
        }
      },
      "AgentSqlPreferenceDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlObjectDto"
            }
          },
          "priorityMode" : {
            "type" : "string",
            "enum" : [ "0", "1" ]
          }
        }
      },
      "AgentSqlRuleDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "basedOnList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlBasedOnDto"
            }
          },
          "useAllObjects" : {
            "type" : "boolean"
          },
          "filters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlFilterDto"
            }
          },
          "orderByList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlOrderByDto"
            }
          },
          "groupByList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlGroupByDto"
            }
          },
          "guards" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlGuardDto"
            }
          },
          "times" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlTimeDto"
            }
          },
          "preferences" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlPreferenceDto"
            }
          }
        }
      },
      "AgentSqlTemplateDto" : {
        "type" : "object",
        "properties" : {
          "rules" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentSqlRuleDto"
            }
          }
        },
        "description" : "Agent SQL Template Settings"
      },
      "AgentSqlTimeDto" : {
        "type" : "object",
        "properties" : {
          "when" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "dimension" : {
            "$ref" : "#/components/schemas/AgentSqlObjectDto"
          },
          "element" : {
            "type" : "string"
          }
        }
      },
      "BotAliasConfig" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string"
          },
          "customInstruction" : {
            "type" : "string"
          },
          "steps" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BotAliasStep"
            }
          }
        }
      },
      "BotAliasSettings" : {
        "type" : "object",
        "properties" : {
          "aliasList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BotAliasConfig"
            }
          }
        },
        "description" : "Alias/Prompts Settings"
      },
      "BotAliasStep" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "string"
          }
        }
      },
      "BotAppearanceDto" : {
        "type" : "object",
        "properties" : {
          "showLogo" : {
            "type" : "boolean",
            "description" : "Agent show logo"
          },
          "themeColor" : {
            "$ref" : "#/components/schemas/BotThemeColor"
          },
          "paletteId" : {
            "type" : "string",
            "description" : "Agent visualization palette id"
          },
          "chartConfig" : {
            "$ref" : "#/components/schemas/BotChartConfigDto"
          }
        },
        "description" : "Agent appearance setting"
      },
      "BotCacheSettings" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "enum" : [ "0", "1", "2" ]
          }
        },
        "description" : "Cache Settings"
      },
      "BotChartConfigDto" : {
        "type" : "object",
        "properties" : {
          "axisOrigin" : {
            "type" : "integer",
            "format" : "int32"
          },
          "axisOriginValue" : {
            "type" : "number",
            "format" : "double"
          },
          "dataLabelsEnabled" : {
            "type" : "boolean"
          },
          "gridShowTotals" : {
            "type" : "boolean"
          }
        },
        "description" : "Agent Chart Config"
      },
      "BotCustomInstructionsDto" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Agent custom instructions enabled"
          },
          "businessInfo" : {
            "type" : "string",
            "description" : "Agent business info"
          },
          "responseStyle" : {
            "type" : "string",
            "description" : "Agent response style"
          },
          "deniedAnswer" : {
            "type" : "string",
            "description" : "Agent denied answer"
          },
          "temperatureAttributePicker" : {
            "type" : "number",
            "description" : "Agent Q&A temperature for attributes",
            "format" : "double"
          },
          "temperatureMetricPicker" : {
            "type" : "number",
            "description" : "Agent Q&A temperature for metrics",
            "format" : "double"
          },
          "temperatureSpeaker" : {
            "type" : "number",
            "description" : "Agent Q&A temperature for speaker",
            "format" : "double"
          },
          "useLatestModel" : {
            "type" : "boolean",
            "description" : "Use Latest AI LLM Model"
          },
          "enhancedConversation" : {
            "type" : "boolean",
            "description" : "Enable enhanced conversation"
          },
          "agentSimilarityScore" : {
            "type" : "number",
            "description" : "Agent Similarity Score",
            "format" : "double"
          },
          "enableUserIdentity" : {
            "type" : "boolean",
            "description" : "Enable agent user identity"
          }
        },
        "description" : "Agent custom instructions setting"
      },
      "BotExternalLinkDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Link id"
          },
          "name" : {
            "type" : "string",
            "description" : "Link name"
          },
          "icon" : {
            "type" : "string",
            "description" : "Link icon"
          },
          "url" : {
            "type" : "string",
            "description" : "Link url"
          }
        },
        "description" : "Agent external links"
      },
      "BotFiscalYearSettingsDto" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether the fiscal year settings are enabled"
          },
          "option" : {
            "type" : "string",
            "description" : "Agent fiscal year option: current or next",
            "enum" : [ "current", "next" ]
          },
          "level" : {
            "type" : "string",
            "description" : "Agent fiscal year level: month or week",
            "enum" : [ "month", "week" ]
          },
          "startMonth" : {
            "type" : "integer",
            "description" : "Agent fiscal year start month",
            "format" : "int32"
          },
          "startDay" : {
            "type" : "integer",
            "description" : "Agent fiscal year start day",
            "format" : "int32"
          }
        },
        "description" : "Fiscal Year Settings"
      },
      "BotGeneralDto" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Agent name"
          },
          "active" : {
            "type" : "boolean",
            "description" : "Agent active status"
          },
          "greeting" : {
            "type" : "string",
            "description" : "Agent greeting message"
          },
          "coverImageUrl" : {
            "type" : "string",
            "description" : "Agent cover image"
          },
          "questionInput" : {
            "$ref" : "#/components/schemas/BotV2QuestionInputDto"
          },
          "externalLinks" : {
            "type" : "array",
            "description" : "Agent external links",
            "items" : {
              "$ref" : "#/components/schemas/BotExternalLinkDto"
            }
          },
          "linkFormat" : {
            "type" : "string",
            "description" : "External Link format",
            "enum" : [ "icon", "text", "all" ]
          },
          "features" : {
            "$ref" : "#/components/schemas/BotV2FeaturesDto"
          }
        },
        "description" : "Agent general settings"
      },
      "BotV2ConfigDto" : {
        "type" : "object",
        "properties" : {
          "appearance" : {
            "$ref" : "#/components/schemas/BotAppearanceDto"
          },
          "general" : {
            "$ref" : "#/components/schemas/BotGeneralDto"
          },
          "customInstructions" : {
            "$ref" : "#/components/schemas/BotCustomInstructionsDto"
          },
          "aliasSettings" : {
            "$ref" : "#/components/schemas/BotAliasSettings"
          },
          "cacheSettings" : {
            "$ref" : "#/components/schemas/BotCacheSettings"
          },
          "fiscalYearSettings" : {
            "$ref" : "#/components/schemas/BotFiscalYearSettingsDto"
          },
          "webSearchSettings" : {
            "$ref" : "#/components/schemas/BotWebSearchSettingsDto"
          },
          "sqlTemplate" : {
            "$ref" : "#/components/schemas/AgentSqlTemplateDto"
          }
        },
        "description" : "Agent config."
      },
      "BotV2FeaturesDto" : {
        "type" : "object",
        "properties" : {
          "enableResearch" : {
            "type" : "boolean",
            "description" : "Enable AI-powered research capabilities for the bot."
          },
          "enableSqlTemplate" : {
            "type" : "boolean",
            "description" : "Enable SQL template rules management for the agent."
          },
          "enableAutoVoice" : {
            "type" : "boolean",
            "description" : "Enable Voice mode for the agent."
          },
          "enableExport" : {
            "type" : "boolean",
            "description" : "Allow users to export answers to Excel and CSV."
          },
          "enableFullDataExport" : {
            "type" : "boolean",
            "description" : "Allow users to export full data sets to Excel and CSV."
          },
          "enableWebSearch" : {
            "type" : "boolean",
            "description" : "Enable Web Search capability for the bot."
          },
          "question_interpretation" : {
            "type" : "boolean",
            "description" : "Enable Agent question interpretation."
          },
          "saving_to_snapshots" : {
            "type" : "boolean",
            "description" : "Enable saving to snapshots."
          },
          "topics_panel" : {
            "type" : "boolean",
            "description" : "Enable topics panel (Ask About)"
          },
          "answer_insights" : {
            "type" : "boolean",
            "description" : "Enable answer insights."
          },
          "auto_complete" : {
            "type" : "boolean",
            "description" : "Enable auto complete."
          },
          "auto_complete_show_attr" : {
            "type" : "boolean",
            "description" : "Specifies whether to show the attribute indicator for all NER element suggestions. If false, the indicator is shown only when the same suggestion text appears multiple times."
          },
          "export_formatted_data" : {
            "type" : "boolean",
            "description" : "Enable export formatted data."
          }
        },
        "description" : "Agent optional features flag"
      },
      "BotV2QuestionInputDto" : {
        "type" : "object",
        "properties" : {
          "enableQuestionSuggestions" : {
            "type" : "boolean",
            "description" : "Enable Agent question suggestions."
          },
          "autoSuggestionsAmount" : {
            "type" : "integer",
            "description" : "Agent suggestions amount",
            "format" : "int32"
          },
          "hint" : {
            "type" : "string",
            "description" : "Agent question input hint"
          },
          "customSuggestions" : {
            "type" : "array",
            "description" : "Agent custom suggestions",
            "items" : {
              "type" : "string",
              "description" : "Agent custom suggestions"
            }
          }
        },
        "description" : "Agent question input"
      },
      "BotWebSearchSettingsDto" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Specifies whether web search is enabled for the bot."
          },
          "allowList" : {
            "type" : "array",
            "description" : "List of allowed domains for web search.",
            "items" : {
              "type" : "string",
              "description" : "List of allowed domains for web search."
            }
          },
          "blockList" : {
            "type" : "array",
            "description" : "List of blocked domains for web search.",
            "items" : {
              "type" : "string",
              "description" : "List of blocked domains for web search."
            }
          }
        },
        "description" : "Web Search Settings"
      },
      "AttributeFormDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute form ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Attribute form name"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Attribute form data type"
          },
          "baseFormCategory" : {
            "type" : "string",
            "description" : "Attribute form base form category"
          },
          "baseFormType" : {
            "type" : "string",
            "description" : "Attribute form base form type"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Attribute form hidden"
          },
          "isDisplayForm" : {
            "type" : "boolean",
            "description" : "Is display form"
          },
          "isIdForm" : {
            "type" : "boolean",
            "description" : "Is ID form"
          },
          "desc" : {
            "type" : "string",
            "description" : "Form description"
          },
          "nerStatus" : {
            "type" : "integer",
            "description" : "NER enabled status",
            "format" : "int32"
          },
          "columnAlias" : {
            "type" : "array",
            "description" : "Attribute form ai column alias",
            "items" : {
              "type" : "string",
              "description" : "Attribute form ai column alias"
            }
          },
          "fiscalDateType" : {
            "type" : "string",
            "description" : "Fiscal date type",
            "enum" : [ "0", "1", "2", "3", "4", "5" ]
          }
        },
        "description" : "Collection of available forms in attribute"
      },
      "DatasetDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dataset ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Dataset name"
          },
          "desc" : {
            "type" : "string",
            "description" : "Dataset description"
          },
          "status" : {
            "type" : "integer",
            "description" : "Dataset status",
            "format" : "int32"
          },
          "isSubsetReport" : {
            "type" : "boolean",
            "description" : "Dataset is subset report"
          },
          "objects" : {
            "type" : "array",
            "description" : "Collection of available objects in dataset",
            "items" : {
              "$ref" : "#/components/schemas/DatasetObjectDto"
            }
          },
          "aiEnabledType" : {
            "type" : "integer",
            "description" : "AI enabled type, 0: clickhouse, 1: description only",
            "format" : "int32"
          },
          "aiDescComplete" : {
            "type" : "boolean",
            "description" : "whether column descriptions is complete"
          },
          "st" : {
            "type" : "integer",
            "description" : "sub type",
            "format" : "int32"
          },
          "vm" : {
            "type" : "integer",
            "description" : "view media",
            "format" : "int32"
          }
        },
        "description" : "Collection of AI Datasets"
      },
      "DatasetObjectDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "type" : {
            "type" : "string",
            "description" : "object type, valid object type: attribute, consolidation, customGroup, metric"
          },
          "desc" : {
            "type" : "string",
            "description" : "Object description"
          },
          "rawDesc" : {
            "type" : "string",
            "description" : "Object raw description"
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Object hidden"
          },
          "forms" : {
            "type" : "array",
            "description" : "Collection of available forms in attribute",
            "items" : {
              "$ref" : "#/components/schemas/AttributeFormDto"
            }
          },
          "numberFormat" : {
            "$ref" : "#/components/schemas/NumberFormatDto"
          },
          "isSmartMetrics" : {
            "type" : "boolean",
            "description" : "Smart metrics flag"
          },
          "isDerivedAttribute" : {
            "type" : "boolean",
            "description" : "Derived attribute flag"
          },
          "columnAlias" : {
            "type" : "array",
            "description" : "Object ai column alias",
            "items" : {
              "type" : "string",
              "description" : "Object ai column alias"
            }
          },
          "isSupported" : {
            "type" : "boolean",
            "description" : "Metric supported flag"
          },
          "dataType" : {
            "type" : "string",
            "description" : "Data type of the object"
          },
          "st" : {
            "type" : "integer",
            "description" : "Subtype of the object",
            "format" : "int32"
          }
        },
        "description" : "Collection of available objects in dataset"
      },
      "NumberFormatDto" : {
        "type" : "object",
        "properties" : {
          "category" : {
            "type" : "integer",
            "description" : "Category for number formatting, possible values are provided in [EnumGridFormatNumberCategory](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridFormatNumberCategory.html)",
            "format" : "int32"
          },
          "decimalPlaces" : {
            "maximum" : 9,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Position for decimal, range from 0 to 9",
            "format" : "int32"
          },
          "format" : {
            "type" : "string",
            "description" : "Pattern used for formatting the number"
          },
          "thousandSeparator" : {
            "type" : "boolean",
            "description" : "Specify use thousand separator or not"
          },
          "currencySymbol" : {
            "type" : "string",
            "description" : "Symbol for currency, the length of the symbol is limited to 5"
          },
          "currencyPosition" : {
            "type" : "integer",
            "description" : "Category for number formatting, possible values are provided in [EnumGridNumberCurrencyPosition](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridNumberCurrencyPosition.html)",
            "format" : "int32"
          },
          "negativeType" : {
            "type" : "integer",
            "description" : "Category for number formatting, possible values are provided in [EnumGridNegativeNumbersFormat](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/web/objects/EnumGridNegativeNumbersFormat.html)",
            "format" : "int32"
          }
        },
        "description" : "Metric Number format"
      },
      "BotV2DetailDto" : {
        "type" : "object",
        "properties" : {
          "botJson" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "adcJson" : {
            "$ref" : "#/components/schemas/JsonNode"
          }
        }
      },
      "ArrayNode" : {
        "type" : "object",
        "description" : "attribute links"
      },
      "BotV2Dto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent id."
          },
          "name" : {
            "type" : "string",
            "description" : "Agent name."
          },
          "status" : {
            "type" : "string",
            "description" : "Agent status, It can be either 'draft' or 'published'.\nDraft: The agent is in draft mode and not available for use.\nPublished: The agent is published and available for use.",
            "enum" : [ "draft", "published" ]
          },
          "aiDatasetCollections" : {
            "type" : "array",
            "description" : "Collection of dataset info",
            "items" : {
              "$ref" : "#/components/schemas/DatasetContainerDto"
            }
          },
          "subBots" : {
            "type" : "array",
            "description" : "Collection of sub Agents.",
            "items" : {
              "$ref" : "#/components/schemas/SubBotDto"
            }
          },
          "objectLinkings" : {
            "type" : "array",
            "description" : "Collection of dataset object linkings.",
            "items" : {
              "type" : "array",
              "description" : "Collection of dataset object linkings.",
              "items" : {
                "$ref" : "#/components/schemas/ObjectLinkingDto"
              }
            }
          },
          "folderId" : {
            "type" : "string",
            "description" : "Agent folder id."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Agent project id."
          },
          "config" : {
            "$ref" : "#/components/schemas/BotV2ConfigDto"
          },
          "shortcut" : {
            "$ref" : "#/components/schemas/BotV2ShortcutDto"
          }
        }
      },
      "BotV2ShortcutDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Agent Shortcut id."
          },
          "name" : {
            "type" : "string",
            "description" : "Agent Shortcut name."
          }
        },
        "description" : "Agent shortcut."
      },
      "DatasetContainerDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "AI Dataset Collection ID"
          },
          "datasets" : {
            "type" : "array",
            "description" : "Collection of AI Datasets",
            "items" : {
              "$ref" : "#/components/schemas/DatasetDto"
            }
          },
          "unstructuredData" : {
            "type" : "array",
            "description" : "Collection of Unstructured Data",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataDto"
            }
          },
          "attributeLinks" : {
            "$ref" : "#/components/schemas/ArrayNode"
          }
        },
        "description" : "Collection of dataset info"
      },
      "ObjectLinkingDto" : {
        "type" : "object",
        "properties" : {
          "objectId" : {
            "type" : "string",
            "description" : "Object id."
          },
          "formId" : {
            "type" : "string",
            "description" : "Form id."
          }
        },
        "description" : "Collection of dataset object linkings."
      },
      "SubBotDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Sub Agent id."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Sub Agent project id."
          },
          "name" : {
            "type" : "string",
            "description" : "Sub Agent name."
          },
          "desc" : {
            "type" : "string",
            "description" : "Sub Agent description."
          },
          "acg" : {
            "type" : "integer",
            "description" : "Sub Agent acg.",
            "format" : "int32"
          },
          "active" : {
            "type" : "boolean",
            "description" : "Sub Agent active status."
          },
          "alias" : {
            "type" : "array",
            "description" : "Sub Agent alias names.",
            "items" : {
              "type" : "string",
              "description" : "Sub Agent alias names."
            }
          }
        },
        "description" : "Collection of sub Agents."
      },
      "UnstructuredDataDto" : {
        "required" : [ "name", "objectAcl", "objectNames" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object id"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "description" : {
            "type" : "string",
            "description" : "Object description"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The object creation time in UTC",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The object last updated time in UTC",
            "format" : "date-time"
          },
          "objectVersion" : {
            "type" : "string",
            "description" : "Object version ID"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "Owner id"
          },
          "objectNames" : {
            "type" : "array",
            "description" : "Object names and descriptions with locale",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectNameAndDescriptionWithLocale"
            }
          },
          "hidden" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is hidden"
          },
          "managed" : {
            "type" : "boolean",
            "description" : "Specifies whether the object is managed"
          },
          "objectAcl" : {
            "type" : "array",
            "description" : "Object ACL which contains the access control entry",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectAccessControlEntry"
            }
          },
          "propertyGroups" : {
            "type" : "array",
            "description" : "Object property groups",
            "items" : {
              "$ref" : "#/components/schemas/LeanObjectPropertyGroup"
            }
          },
          "accessGranted" : {
            "type" : "integer",
            "description" : "Object access rights. It's a bit vector where bits are defined at [EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)",
            "format" : "int32"
          },
          "minver4write" : {
            "type" : "integer",
            "description" : "Specifies md min version for write",
            "format" : "int32"
          },
          "nuggetType" : {
            "type" : "integer",
            "format" : "int32"
          },
          "fileName" : {
            "type" : "string"
          },
          "fileLocation" : {
            "type" : "string"
          },
          "fileType" : {
            "type" : "string"
          },
          "fileSize" : {
            "type" : "integer",
            "format" : "int32"
          },
          "nuggetsCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32"
          },
          "partialErrorCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "errorMessage" : {
            "type" : "string"
          },
          "uploadTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "indexTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "certified" : {
            "type" : "boolean"
          },
          "fileId" : {
            "type" : "string"
          },
          "statusString" : {
            "type" : "string"
          },
          "summary" : {
            "type" : "string"
          }
        },
        "description" : "Collection of Unstructured Data"
      },
      "BotV2BulkDescriptionResponseDto" : {
        "type" : "object",
        "properties" : {
          "bots" : {
            "type" : "array",
            "description" : "List of description info as requested.",
            "items" : {
              "$ref" : "#/components/schemas/BotV2DescriptionDto"
            }
          }
        }
      },
      "BotV2DescriptionDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Bot UUID."
          },
          "description" : {
            "type" : "string",
            "description" : "Description."
          }
        },
        "description" : "List of description info as requested."
      },
      "BotV2BulkDescriptionRequestDto" : {
        "type" : "object",
        "properties" : {
          "botIds" : {
            "type" : "array",
            "description" : "Bot IDs.",
            "items" : {
              "type" : "string",
              "description" : "Bot IDs."
            }
          }
        }
      },
      "ChatsV2GetResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Chats ID"
          },
          "chats" : {
            "type" : "array",
            "description" : "List of chat objects",
            "items" : {
              "$ref" : "#/components/schemas/ChatV2GetResponse"
            }
          },
          "snapshotSortBy" : {
            "type" : "string",
            "description" : "Snapshot sort order"
          },
          "settings" : {
            "$ref" : "#/components/schemas/ChatGroupSettingDto"
          }
        }
      },
      "BotV2CubeInfoDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Cube definition ID."
          },
          "name" : {
            "type" : "string",
            "description" : "Cube name."
          },
          "projectId" : {
            "type" : "string",
            "description" : "Project ID that the cube instance belongs to."
          },
          "cubeInstanceId" : {
            "type" : "string",
            "description" : "Cube instance ID."
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the cube instance. Can be either 'ready', 'pending', or 'failed'.",
            "enum" : [ "started", "ready", "pending", "failed", "decertified", "baseCubeDecertified", "reserved" ]
          },
          "reason" : {
            "type" : "string",
            "description" : "Gives the reason for a failed status."
          },
          "lastUpdatedAt" : {
            "type" : "integer",
            "description" : "The timestamp in milliseconds from epoch when the last cube status updated.",
            "format" : "int64"
          },
          "user" : {
            "type" : "string",
            "description" : "The user who enabled AI for the cube."
          },
          "progress" : {
            "type" : "integer",
            "description" : "The progress of the cube ingestion, if applicable. Ranges from 0 to 100.",
            "format" : "int32"
          },
          "remainingTime" : {
            "type" : "integer",
            "description" : "The estimated remaining time in seconds for the cube ingestion to complete, if applicable.",
            "format" : "int32"
          },
          "errorCode" : {
            "type" : "integer",
            "description" : "The error code associated with a failed cube ingestion, if applicable.",
            "format" : "int32"
          },
          "tables" : {
            "type" : "array",
            "description" : "The list of tables included in the cube.",
            "items" : {
              "type" : "string",
              "description" : "The list of tables included in the cube."
            }
          }
        },
        "description" : "List of cube info as requested."
      },
      "BotV2CubeInfoResponseDto" : {
        "type" : "object",
        "properties" : {
          "cubes" : {
            "type" : "array",
            "description" : "List of cube info as requested.",
            "items" : {
              "$ref" : "#/components/schemas/BotV2CubeInfoDto"
            }
          }
        }
      },
      "AgentEvaluationJobDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "enum" : [ "started", "in_progress", "completed", "cancellation_requested", "error", "aborted", "not_started", "unknown" ]
          },
          "questionResults" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/AgentEvaluationQuestionResultDto"
            }
          },
          "overallAccuracy" : {
            "type" : "number",
            "format" : "double"
          },
          "overallProgress" : {
            "type" : "number",
            "format" : "double"
          },
          "questionsProcessed" : {
            "type" : "integer",
            "format" : "int32"
          },
          "startedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "updatedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "errorMessage" : {
            "type" : "string"
          }
        }
      },
      "AgentEvaluationQuestionResultDto" : {
        "type" : "object",
        "properties" : {
          "question" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "question_id" : {
            "type" : "string"
          },
          "expected_answer" : {
            "type" : "string"
          },
          "expected_image_data" : {
            "type" : "string"
          },
          "bot_answer" : {
            "type" : "string"
          },
          "is_correct" : {
            "type" : "boolean"
          },
          "question_asked_at" : {
            "type" : "string"
          },
          "evaluation_completed_at" : {
            "type" : "string"
          },
          "question_ask_duration_ms" : {
            "type" : "number",
            "format" : "double"
          },
          "evaluation_duration_ms" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "NerSearchElementDto" : {
        "type" : "object",
        "properties" : {
          "formId" : {
            "type" : "string",
            "description" : "Unique identifier for the form associated with the element."
          },
          "attributeId" : {
            "type" : "string",
            "description" : "Unique identifier for the attribute associated with the element."
          },
          "element" : {
            "type" : "string",
            "description" : "The actual text or value of the element."
          },
          "score" : {
            "type" : "number",
            "description" : "Confidence score of the element, indicating how relevant it is to the search query.",
            "format" : "double"
          },
          "datasetId" : {
            "type" : "string",
            "description" : "Unique identifier for the dataset associated with the element."
          },
          "cubeInstanceId" : {
            "type" : "string",
            "description" : "Unique identifier for the cube instance associated with the element."
          }
        },
        "description" : "List of elements found in the search."
      },
      "NerSearchErrorDto" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "description" : "Error message describing the issue encountered during the search."
          },
          "cubeInstanceId" : {
            "type" : "string",
            "description" : "Unique identifier for the cube instance associated with the error."
          },
          "attributeId" : {
            "type" : "string",
            "description" : "Unique identifier for the attribute associated with the error."
          },
          "formId" : {
            "type" : "string",
            "description" : "Unique identifier for the form associated with the error."
          },
          "datasetId" : {
            "type" : "string",
            "description" : "Unique identifier for the dataset associated with the error."
          }
        },
        "description" : "List of errors encountered during the search."
      },
      "NerSearchResultDto" : {
        "type" : "object",
        "properties" : {
          "totalCount" : {
            "type" : "integer",
            "description" : "Total number of elements found in the search.",
            "format" : "int32"
          },
          "searchTime" : {
            "type" : "integer",
            "description" : "Time taken to perform the search in milliseconds.",
            "format" : "int32"
          },
          "pageSize" : {
            "type" : "integer",
            "description" : "Number of elements in the this response.",
            "format" : "int32"
          },
          "query" : {
            "type" : "string",
            "description" : "Search query string used to retrieve the results."
          },
          "elements" : {
            "type" : "array",
            "description" : "List of elements found in the search.",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchElementDto"
            }
          },
          "errors" : {
            "type" : "array",
            "description" : "List of errors encountered during the search.",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchErrorDto"
            }
          }
        }
      },
      "NerSearchResultsDto" : {
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchResultDto"
            }
          }
        }
      },
      "NerSearchDatasetDto" : {
        "required" : [ "id", "objects" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Dataset ID"
          },
          "objects" : {
            "type" : "array",
            "description" : "Collection of available objects in dataset",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchObjectDto"
            }
          },
          "aiDataContainerId" : {
            "type" : "string",
            "description" : "AI Data Container ID for SubBot datasets"
          }
        }
      },
      "NerSearchFormDto" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute Form ID"
          },
          "status" : {
            "type" : "integer",
            "description" : "Indexing status of the attribute form",
            "format" : "int32"
          },
          "statusReasonCode" : {
            "type" : "integer",
            "description" : "Reason code for the index status of the attribute form",
            "format" : "int32"
          },
          "statusReasonMessage" : {
            "type" : "string",
            "description" : "Message explaining the reason for the index status of the attribute form"
          }
        },
        "description" : "Attribute forms associated with the object"
      },
      "NerSearchObjectDto" : {
        "required" : [ "forms", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "forms" : {
            "type" : "array",
            "description" : "Attribute forms associated with the object",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchFormDto"
            }
          }
        },
        "description" : "Collection of available objects in dataset"
      },
      "NerSearchQueryDto" : {
        "required" : [ "datasets", "query" ],
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string"
          },
          "datasets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchDatasetDto"
            }
          }
        }
      },
      "NerSearchRequestDto" : {
        "required" : [ "queries", "searchType", "timeout" ],
        "type" : "object",
        "properties" : {
          "aiDataContainerId" : {
            "type" : "string"
          },
          "queries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchQueryDto"
            }
          },
          "timeout" : {
            "type" : "integer",
            "format" : "int32"
          },
          "searchType" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11" ]
            }
          },
          "flag" : {
            "type" : "integer",
            "format" : "int32"
          },
          "pagination" : {
            "$ref" : "#/components/schemas/Pagination"
          }
        }
      },
      "BotV2TrainingJobResponseDto" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "Status of the training job."
          },
          "currentIteration" : {
            "type" : "integer",
            "description" : "Current iteration of the training job.",
            "format" : "int32"
          },
          "iterationCount" : {
            "type" : "integer",
            "description" : "Total number of iterations for the training job.",
            "format" : "int32"
          },
          "missedColumnIds" : {
            "type" : "array",
            "description" : "Current iteration missed column IDs.",
            "items" : {
              "type" : "string",
              "description" : "Current iteration missed column IDs."
            }
          },
          "currentTuningColumnIds" : {
            "type" : "array",
            "description" : "List of tuning column IDs.",
            "items" : {
              "type" : "string",
              "description" : "List of tuning column IDs."
            }
          },
          "tunedDescs" : {
            "type" : "array",
            "description" : "List of tuned descriptions.",
            "items" : {
              "$ref" : "#/components/schemas/TunedDescription"
            }
          }
        }
      },
      "TunedDescription" : {
        "type" : "object",
        "properties" : {
          "columnId" : {
            "type" : "string"
          },
          "originalDesc" : {
            "type" : "string"
          },
          "updatedDesc" : {
            "type" : "string"
          },
          "reason" : {
            "type" : "string"
          }
        },
        "description" : "List of tuned descriptions."
      },
      "BotV2TrainingSetResponseDto" : {
        "type" : "object",
        "properties" : {
          "trainEntries" : {
            "type" : "array",
            "description" : "List of training entries.",
            "items" : {
              "$ref" : "#/components/schemas/TrainEntry"
            }
          },
          "additionalInfo" : {
            "type" : "string",
            "description" : "Additional information for the training set."
          },
          "iterationCount" : {
            "type" : "integer",
            "description" : "number of iterations for the training set.",
            "format" : "int32"
          }
        }
      },
      "TrainEntry" : {
        "type" : "object",
        "properties" : {
          "question" : {
            "type" : "string"
          },
          "columnIds" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "List of training entries."
      },
      "PatchOperationsBotPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BotPatchOperation"
            }
          }
        }
      },
      "PatchOperationsDtoBotPatchOperation" : {
        "type" : "object",
        "properties" : {
          "operationList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BotPatchOperation"
            }
          },
          "patchOperations" : {
            "$ref" : "#/components/schemas/PatchOperationsBotPatchOperation"
          }
        },
        "example" : {
          "operationList" : [ {
            "op" : "replace",
            "path" : "/snapshotSortBy",
            "value" : "sort key"
          }, {
            "op" : "replace",
            "path" : "/categories/{categoryId}/name",
            "value" : "new category name"
          } ]
        }
      },
      "NerSearchIndexingStatusQueryDto" : {
        "required" : [ "aiDataContainerId", "datasets" ],
        "type" : "object",
        "properties" : {
          "aiDataContainerId" : {
            "type" : "string"
          },
          "datasets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/NerSearchDatasetDto"
            }
          }
        }
      },
      "BotV2TrainingJobCreateRequestDto" : {
        "type" : "object",
        "properties" : {
          "iterationCount" : {
            "type" : "integer",
            "description" : "Total number of iterations for the training job.",
            "format" : "int32"
          }
        }
      },
      "BotV2TrainingSetRequestDto" : {
        "type" : "object",
        "properties" : {
          "trainEntries" : {
            "type" : "array",
            "description" : "List of training entries.",
            "items" : {
              "$ref" : "#/components/schemas/TrainEntry"
            }
          },
          "additionalInfo" : {
            "type" : "string",
            "description" : "Additional information for the training set."
          },
          "iterationCount" : {
            "type" : "integer",
            "description" : "Number of iterations for the training set.",
            "format" : "int32"
          }
        }
      },
      "ChangeJournalSearchInfoV2" : {
        "type" : "object",
        "properties" : {
          "transactionSources" : {
            "type" : "array",
            "description" : "Transaction Sources",
            "items" : {
              "type" : "string",
              "description" : "Transaction Sources",
              "enum" : [ "reserved", "office", "server_admin", "server", "project_upgrade", "dss_web", "dss_scheduler", "custom_app", "narrowcast_server", "object_manager", "odbo_provider", "odbo_cube_designer", "command_manager", "enterprise_manager", "command_line_interface", "project_builder", "configuration_wizard", "md_scan", "cache_utility", "fire_event", "java_desktop", "web_services", "office_ws", "tools", "portal", "tester", "md_update", "combrowser", "mobile", "bulk_translation_tool", "health_center", "cube_advisor", "one_tier", "dossier_web", "dossier_mobile", "workstation", "library_mobile_android", "tableau", "qlik", "power_bi", "microsoft_office", "hyper_browser_chrome", "hyper_mobile_ios", "hyper_mobile_android", "hyper_office_outlook_web", "hyper_office_outlook_windows", "hyper_office_outlook_mac", "hyper_office_outlook_ios", "hyper_office_outlook_android", "hyper_voice_alexa", "hyper_messaging_slack", "hyper_desktop_mac", "hyper_desktop_windows", "hyper_sdk", "hyper_screen_apple_tv", "hyper_screen_fire_tv", "hyper_screen_android_tv", "jupyter", "rstudio", "product_01", "product_02", "product_03", "product_04", "product_05", "product_06", "python" ]
            }
          },
          "transactionTypes" : {
            "type" : "array",
            "description" : "Transaction Types",
            "items" : {
              "type" : "string",
              "description" : "Transaction Types",
              "enum" : [ "reserved", "enable_change_journal", "disable_change_journal", "purge_change_journal", "save_object", "save_objects", "save_linkitems", "delete_object", "delete_objects", "delete_project", "copy_object", "merge_user", "collect_garbage", "write_system_property", "write_database_password" ]
            }
          },
          "changeTypes" : {
            "type" : "array",
            "description" : "Change Types",
            "items" : {
              "type" : "string",
              "description" : "Change Types",
              "enum" : [ "reserved", "create_object", "change_object", "delete_object", "touch_folder", "create_linkitem", "change_linkitem", "delete_linkitem", "change_journal_enable", "change_journal_disable", "change_journal_purge" ]
            }
          },
          "sessionIds" : {
            "type" : "array",
            "description" : "Session IDs",
            "items" : {
              "type" : "string",
              "description" : "Session IDs"
            }
          },
          "machines" : {
            "type" : "array",
            "description" : "Machines",
            "items" : {
              "type" : "string",
              "description" : "Machines"
            }
          },
          "users" : {
            "type" : "array",
            "description" : "Users",
            "items" : {
              "type" : "string",
              "description" : "Users"
            }
          },
          "affectedProjects" : {
            "type" : "array",
            "description" : "Affected projects",
            "items" : {
              "type" : "string",
              "description" : "Affected projects"
            }
          },
          "affectedObjects" : {
            "type" : "array",
            "description" : "Affected objects",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndType"
            }
          },
          "beginTransactionId" : {
            "type" : "string",
            "description" : "Begin transaction ID"
          },
          "endTransactionId" : {
            "type" : "string",
            "description" : "End transaction ID"
          },
          "beginTime" : {
            "type" : "string",
            "description" : "Begin time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "End time"
          },
          "objectTypes" : {
            "type" : "array",
            "description" : "Object types to filter by (e.g., 'filter', 'report_definition', 'metric')",
            "items" : {
              "type" : "string",
              "description" : "Object types to filter by (e.g., 'filter', 'report_definition', 'metric')",
              "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
            }
          },
          "objectSubTypes" : {
            "type" : "array",
            "description" : "Object subtypes to filter by (e.g., 'report_grid', 'report_graph', 'folder')",
            "items" : {
              "type" : "string",
              "description" : "Object subtypes to filter by (e.g., 'report_grid', 'report_graph', 'folder')",
              "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
            }
          },
          "objectNames" : {
            "type" : "array",
            "description" : "Object names to filter by (fuzzy match, OR logic between multiple names)",
            "items" : {
              "type" : "string",
              "description" : "Object names to filter by (fuzzy match, OR logic between multiple names)"
            }
          }
        }
      },
      "ChangeJournalEntryV2" : {
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "machine" : {
            "type" : "string",
            "description" : "Machine"
          },
          "sessionId" : {
            "type" : "string",
            "description" : "Session ID"
          },
          "transaction" : {
            "$ref" : "#/components/schemas/Transaction"
          },
          "user" : {
            "$ref" : "#/components/schemas/ObjectGuidAndName"
          },
          "relatedTransactionProjectId" : {
            "type" : "string",
            "description" : "Related Transaction Project ID"
          },
          "changedObject" : {
            "$ref" : "#/components/schemas/ChangedObjectInfo"
          },
          "timestampISO" : {
            "type" : "string",
            "description" : "Timestamp ISO. ZULU(UTC) datetime format. Ex. \"2026-04-10T02:00:00.000Z\""
          }
        },
        "description" : "List of change journal entries"
      },
      "ChangeJournalSearchResultV2" : {
        "type" : "object",
        "properties" : {
          "result" : {
            "type" : "array",
            "description" : "List of change journal entries",
            "items" : {
              "$ref" : "#/components/schemas/ChangeJournalEntryV2"
            }
          }
        }
      },
      "ChangedObjectInfo" : {
        "type" : "object",
        "properties" : {
          "changeType" : {
            "type" : "string",
            "description" : "Change Type",
            "enum" : [ "reserved", "create_object", "change_object", "delete_object", "touch_folder", "create_linkitem", "change_linkitem", "delete_linkitem", "change_journal_enable", "change_journal_disable", "change_journal_purge" ]
          },
          "object" : {
            "$ref" : "#/components/schemas/ObjectWithExtType"
          },
          "userComments" : {
            "type" : "string",
            "description" : "User Comments"
          },
          "systemComments" : {
            "type" : "string",
            "description" : "System Comments"
          }
        },
        "description" : "Changed Object"
      },
      "ObjectWithExtType" : {
        "required" : [ "id", "name", "subType", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "id" : {
            "type" : "string",
            "description" : "Object ID",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Object type",
            "enum" : [ "reserved", "generic", "unknown", "filter", "template", "report_definition", "metric", "style", "agg_metric", "folder", "subscription_device", "device", "prompt", "function", "attribute", "fact", "dimension", "table", "datamart_report", "fact_group", "type_shortcut", "resolution", "monitor", "attribute_form", "schema", "format", "catalog", "catalog_definition", "column", "property_set", "db_role", "db_login", "db_connection", "project", "server_def", "user", "transmitter", "configuration", "request", "script", "search", "search_folder", "datamart", "function_package_definition", "role", "security_role", "locale", "consolidation", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "table_source", "document_definition", "drill_map", "type_dbms", "md_security_filter", "prompt_answer", "prompt_answers", "blob", "object_tag", "change_journal", "external_shortcut", "external_shortcut_target", "reconciliation", "layer", "palette", "thresholds", "dossier_personal_view", "feature_flag", "command_manager_script", "content_bundle", "application", "timezone", "interface_language", "script_runtime_env", "calendar", "iam", "workflow", "test_suite", "nuggets", "reserved_last_one" ]
          },
          "subType" : {
            "type" : "string",
            "description" : "Object Subtype",
            "enum" : [ "reserved", "unknown", "filter", "global_filter", "custom_group", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_incremental_refresh", "report_transaction", "report_emma_cube", "report_emma_incremental_refresh", "report_hypercard", "metric", "subtotal_definition", "system_subtotal", "metric_dmx", "metric_training", "style", "agg_metric", "folder", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_bigdecimal", "function", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_smart", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "resolution", "attribute_form", "form_system", "form_normal", "schema", "format", "catalog", "catalog_def", "column", "property_group", "property_set", "db_role", "db_role_data_import", "db_role_data_import_primary", "db_role_oauth", "db_role_url_auth", "db_role_generic_dataconnector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_login_secret_vault", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "search_folder", "datamart", "function_package_def", "role", "role_transformation", "security_role", "inbox", "inbox_msg", "consolidation", "consolidation_managed", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "db_table", "db_table_pmt", "table_source", "document_def", "report_writing_document", "document_theme", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answers", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_bigdecimal", "prompt_answer_int64", "graph_style", "changejournal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "changejournal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "derived_attribute", "palette_system", "palette_custom", "thresholds", "command_manager_script", "command_manager_script_python", "command_manager_script_jupyter_notebook", "subscription_address", "subscription_contact", "subscription_instance", "timezone_system", "timezone_custom", "interface_language_system", "interface_language_custom", "workflow", "chat_bot", "chat_bot_v2", "universal_chat_bot", "dataset_container", "vault_connection", "unstructured_data" ]
          },
          "extType" : {
            "type" : "integer",
            "description" : "Extended Type",
            "format" : "int32"
          }
        },
        "description" : "Object"
      },
      "FeatureFlagV2" : {
        "required" : [ "enabled", "id", "internal", "status", "tag" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "id"
          },
          "tag" : {
            "type" : "string",
            "description" : "tag"
          },
          "name" : {
            "type" : "string",
            "description" : "name"
          },
          "description" : {
            "type" : "string",
            "description" : "description"
          },
          "disclaim" : {
            "type" : "string",
            "description" : "disclaim"
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "The resolved status of the flag. This is the property clients should use to determine if the flag is enabled."
          },
          "internal" : {
            "type" : "boolean",
            "description" : "internal"
          },
          "status" : {
            "type" : "integer",
            "description" : "status",
            "format" : "int32"
          },
          "defaultEnabled" : {
            "type" : "boolean",
            "description" : "defaultEnabled"
          },
          "helpURL" : {
            "type" : "string",
            "description" : "helpURL"
          },
          "feedbackURL" : {
            "type" : "string",
            "description" : "feedbackURL"
          }
        }
      },
      "FeatureFlagsV2" : {
        "required" : [ "featureFlags" ],
        "type" : "object",
        "properties" : {
          "featureFlags" : {
            "type" : "array",
            "description" : "An array of feature flags",
            "items" : {
              "$ref" : "#/components/schemas/FeatureFlagV2"
            }
          }
        }
      },
      "ConversationCreateResponseDto" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Conversation id."
          }
        }
      },
      "ConversationCreateRequestDto" : {
        "type" : "object",
        "properties" : {
          "botId" : {
            "type" : "string",
            "description" : "Agent id."
          }
        }
      },
      "RequestConfigCreateCube" : {
        "required" : [ "folderId", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The Intelligent cube name"
          },
          "description" : {
            "type" : "string",
            "description" : "The Intelligent cube description"
          },
          "folderId" : {
            "type" : "string",
            "description" : "Object ID of the folder where the report should be saved"
          },
          "overwrite" : {
            "type" : "boolean",
            "description" : "To overwrite the object with the same name or not"
          },
          "definition" : {
            "$ref" : "#/components/schemas/RequestDefinitionCube"
          }
        }
      },
      "RequestDefinitionCube" : {
        "type" : "object",
        "properties" : {
          "availableObjects" : {
            "$ref" : "#/components/schemas/RequestObjectsCube"
          },
          "reportFilter" : {
            "$ref" : "#/components/schemas/Expression"
          }
        },
        "description" : "The Intelligent cube definition"
      },
      "RequestObjectsBaseObjectWithAlias" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "alias" : {
            "type" : "string",
            "description" : "Alias of the object"
          }
        },
        "description" : "Array of metrics"
      },
      "RequestObjectsCube" : {
        "type" : "object",
        "properties" : {
          "attributes" : {
            "type" : "array",
            "description" : "Array of attributes",
            "items" : {
              "$ref" : "#/components/schemas/RequestObjectsCubeBaseObject"
            }
          },
          "metrics" : {
            "type" : "array",
            "description" : "Array of metrics",
            "items" : {
              "$ref" : "#/components/schemas/RequestObjectsBaseObjectWithAlias"
            }
          }
        },
        "description" : "The objects in the working set of the intelligent cube"
      },
      "RequestObjectsCubeAttributeObject" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/RequestObjectsCubeBaseObject"
        }, {
          "type" : "object",
          "properties" : {
            "forms" : {
              "type" : "array",
              "description" : "The forms of the attribute object",
              "items" : {
                "$ref" : "#/components/schemas/ObjectIdAndName"
              }
            }
          }
        } ]
      },
      "RequestObjectsCubeBaseObject" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Object name"
          },
          "alias" : {
            "type" : "string",
            "description" : "Alias of the object"
          },
          "type" : {
            "type" : "string",
            "description" : "object type, valid object type: attribute"
          }
        },
        "description" : "Array of attributes",
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "RequestConfigRequestedObjectsSortingConfig" : {
        "type" : "object",
        "properties" : {
          "requestedObjects" : {
            "$ref" : "#/components/schemas/RequestedObjects"
          },
          "viewFilter" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "metricLimits" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "description" : "Metric limits"
          },
          "sorting" : {
            "$ref" : "#/components/schemas/SortingConfig"
          },
          "subtotals" : {
            "$ref" : "#/components/schemas/SubtotalsConfig"
          },
          "currentPageBy" : {
            "type" : "array",
            "description" : "The current Page by",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "empty" : {
            "type" : "boolean",
            "description" : "Check if nothing for manipulation--report only. For cube, an ad-hoc template is always constructed."
          }
        }
      },
      "RequestedObjects" : {
        "type" : "object",
        "description" : "Collection of objects to be added to the instance"
      },
      "SortingConfig" : {
        "type" : "object",
        "description" : "Collection of objects to sort by"
      },
      "ReportSqlView" : {
        "type" : "object",
        "properties" : {
          "sqlStatement" : {
            "type" : "string",
            "description" : "The SQL statement of the report or cube"
          }
        }
      },
      "ReportInstanceStatus" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Report ID",
            "readOnly" : true
          },
          "status" : {
            "type" : "integer",
            "description" : "Current status of the document instance. See [EnumDSSXMLStatus](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLStatus.html) for values",
            "format" : "int32"
          },
          "instanceId" : {
            "type" : "string",
            "description" : "Instance(message) ID of the report instance"
          }
        }
      },
      "RequestConfigUpdateCube" : {
        "required" : [ "definition" ],
        "type" : "object",
        "properties" : {
          "definition" : {
            "$ref" : "#/components/schemas/RequestDefinitionCube"
          }
        }
      },
      "AndroidDeviceProperties" : {
        "required" : [ "packageName", "server" ],
        "type" : "object",
        "properties" : {
          "packageName" : {
            "type" : "string",
            "description" : "Mobile Application Package name"
          },
          "server" : {
            "type" : "string",
            "description" : "Firebase cloud messaging service server address",
            "example" : "https://fcm.googleapis.com/v1/projects/myproject-b5ae1/messages:send"
          },
          "port" : {
            "type" : "integer",
            "description" : "Firebase cloud messaging service Port number",
            "format" : "int32",
            "writeOnly" : true,
            "default" : 0
          },
          "authKey" : {
            "type" : "string",
            "description" : "Firebase cloud messaging service Authentication Key "
          },
          "collapseKey" : {
            "type" : "string",
            "description" : "Firebase cloud messaging service Collapse Key",
            "writeOnly" : true
          },
          "delayWithIdle" : {
            "type" : "boolean",
            "description" : "Whether to use Delay with idle",
            "writeOnly" : true,
            "default" : false
          },
          "notificationActiveHours" : {
            "maximum" : 99999,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Notification active for hours, 1 to 99999",
            "format" : "int32",
            "writeOnly" : true
          },
          "useProxy" : {
            "type" : "boolean",
            "description" : "Whether to use Proxy for Firebase cloud messaging ",
            "default" : false
          },
          "proxyServer" : {
            "type" : "string",
            "description" : "Firebase cloud messaging proxy service server URL. URL should be in the format of ip-address/Host:port-number"
          },
          "proxyPort" : {
            "type" : "integer",
            "description" : "Firebase cloud messaging proxy service Port number",
            "format" : "int32",
            "writeOnly" : true
          }
        },
        "description" : "Android Device properties"
      },
      "BackupPrinterProperties" : {
        "type" : "object",
        "properties" : {
          "printOnBackup" : {
            "type" : "boolean",
            "description" : "Whether to print on Backup printer if primary printer fails.",
            "default" : false
          },
          "backupLocationType" : {
            "type" : "string",
            "description" : "Backup device type",
            "default" : "printer",
            "enum" : [ "printer", "file" ]
          },
          "backupPrinterLocation" : {
            "type" : "string",
            "description" : "Backup Printer Location"
          },
          "backupFileLocation" : {
            "type" : "string",
            "description" : "Backup File Location"
          }
        },
        "description" : "Printer Backup Setting"
      },
      "ConnectionParameters" : {
        "type" : "object",
        "properties" : {
          "retriesCount" : {
            "type" : "integer",
            "description" : "Number of Retries",
            "format" : "int32",
            "default" : 5
          },
          "secondsBetweenRetries" : {
            "type" : "integer",
            "description" : "Time between retries(Seconds)",
            "format" : "int32",
            "default" : 3
          },
          "deliveryTimeoutSeconds" : {
            "type" : "integer",
            "description" : "Delivery Timeout (Seconds)",
            "format" : "int32",
            "default" : 10
          }
        },
        "description" : "Connection Parameters"
      },
      "Device" : {
        "required" : [ "deviceProperties", "deviceType", "name", "transmitter" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Identifier of the Device",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the Device",
            "example" : "Generic email"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the Device",
            "example" : "This is a device of type email"
          },
          "ootb" : {
            "type" : "boolean",
            "description" : "Whether the device is out-of-the-box device provided by MicroStrategy. This flag covers only Android devices for now",
            "default" : false
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "Create time of the device, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "Last modification time of the device, yyyy-MM-dd'T'HH:mm:ssZ in UTC",
            "format" : "date-time",
            "readOnly" : true
          },
          "deviceType" : {
            "type" : "string",
            "description" : "Type of the Device",
            "enum" : [ "email", "ftp", "file", "printer", "iphone", "ipad", "android", "onedrive", "sharepoint", "s3", "googledrive", "all", "unsupported" ]
          },
          "transmitter" : {
            "$ref" : "#/components/schemas/TransmitterIdAndName"
          },
          "deviceProperties" : {
            "$ref" : "#/components/schemas/DeviceProperties"
          }
        }
      },
      "DeviceProperties" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "$ref" : "#/components/schemas/EmailDeviceProperties"
          },
          "ftp" : {
            "$ref" : "#/components/schemas/FtpDeviceProperties"
          },
          "file" : {
            "$ref" : "#/components/schemas/FileDeviceProperties"
          },
          "printer" : {
            "$ref" : "#/components/schemas/PrinterDeviceProperties"
          },
          "iphone" : {
            "$ref" : "#/components/schemas/IosDeviceProperties"
          },
          "ipad" : {
            "$ref" : "#/components/schemas/IosDeviceProperties"
          },
          "android" : {
            "$ref" : "#/components/schemas/AndroidDeviceProperties"
          },
          "onedrive" : {
            "$ref" : "#/components/schemas/RestDeviceProperties"
          },
          "sharepoint" : {
            "$ref" : "#/components/schemas/RestDeviceProperties"
          },
          "s3" : {
            "$ref" : "#/components/schemas/RestDeviceProperties"
          },
          "googledrive" : {
            "$ref" : "#/components/schemas/RestDeviceProperties"
          }
        },
        "description" : "Device Properties"
      },
      "EmailDeviceProperties" : {
        "required" : [ "format" ],
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "string",
            "description" : "Indicates the email format of the email device",
            "enum" : [ "uu_encoded", "mime", "unsupported" ]
          },
          "mimeSettings" : {
            "$ref" : "#/components/schemas/MimeSettings"
          },
          "smartHostSettings" : {
            "$ref" : "#/components/schemas/SmartHostSettings"
          },
          "connectionParameters" : {
            "$ref" : "#/components/schemas/ConnectionParameters"
          }
        },
        "description" : "Email Device properties"
      },
      "EncryptionSettings" : {
        "type" : "object",
        "properties" : {
          "enablePgpEncryption" : {
            "type" : "boolean",
            "description" : "Whether to enable PGP encryption",
            "default" : false
          },
          "pgpEncryptionKey" : {
            "type" : "string",
            "description" : "The key  to be used for PGP encryption",
            "writeOnly" : true
          },
          "hasPgpEncryptionKey" : {
            "type" : "boolean",
            "description" : "Indicates whether the PGP encryption key has been set",
            "readOnly" : true
          }
        },
        "description" : "Encryption Settings"
      },
      "FileDeviceProperties" : {
        "required" : [ "connectionParameters", "fileLocation", "fileProperties", "fileSystem", "unixWindowsSharity" ],
        "type" : "object",
        "properties" : {
          "fileLocation" : {
            "$ref" : "#/components/schemas/FileLocation"
          },
          "fileSystem" : {
            "$ref" : "#/components/schemas/FileSystem"
          },
          "connectionParameters" : {
            "$ref" : "#/components/schemas/ConnectionParameters"
          },
          "fileProperties" : {
            "$ref" : "#/components/schemas/FileProperties"
          },
          "unixWindowsSharity" : {
            "$ref" : "#/components/schemas/UnixWindowsSharity"
          },
          "encryptionSettings" : {
            "$ref" : "#/components/schemas/EncryptionSettings"
          }
        },
        "description" : "File Device properties"
      },
      "FileLocation" : {
        "required" : [ "filePath" ],
        "type" : "object",
        "properties" : {
          "filePath" : {
            "type" : "string",
            "description" : "File Location"
          },
          "appendUserPath" : {
            "type" : "boolean",
            "description" : "Whether to allow and append user entered path",
            "default" : false
          },
          "useBackupLocation" : {
            "type" : "boolean",
            "description" : "Whether to use backup location",
            "default" : false
          },
          "backupFilePath" : {
            "type" : "string",
            "description" : "Backup File Location"
          }
        },
        "description" : "File Location Setting"
      },
      "FileProperties" : {
        "type" : "object",
        "properties" : {
          "readOnly" : {
            "type" : "boolean",
            "description" : "Whether to enable read only access for file",
            "default" : true
          },
          "archive" : {
            "type" : "boolean",
            "description" : "Whether to archive the file",
            "default" : false
          },
          "index" : {
            "type" : "boolean",
            "description" : "Whether to index the file",
            "default" : false
          },
          "fileEncoding" : {
            "type" : "string",
            "description" : "File Encoding",
            "default" : "no_encrypt_compress",
            "enum" : [ "encrypt", "compress", "no_encrypt_compress" ]
          },
          "unixAccessRights" : {
            "type" : "string",
            "description" : "UNIX access rights"
          }
        },
        "description" : "File related properties"
      },
      "FileSystem" : {
        "type" : "object",
        "properties" : {
          "createFolder" : {
            "type" : "boolean",
            "description" : "Whether to create required folder in the path",
            "default" : true
          },
          "filenameAppendTimeStamp" : {
            "type" : "boolean",
            "description" : "Whether to append timestamp to the file name",
            "default" : true
          },
          "overrideFilename" : {
            "type" : "boolean",
            "description" : "Whether to override filename with same name",
            "default" : false
          },
          "appendToFile" : {
            "type" : "boolean",
            "description" : "Whether to append to the file",
            "default" : false
          }
        },
        "description" : "File System Options"
      },
      "FtpDeviceProperties" : {
        "required" : [ "fileSystem", "serverSettings" ],
        "type" : "object",
        "properties" : {
          "serverSettings" : {
            "$ref" : "#/components/schemas/FtpServerSettings"
          },
          "fileSystem" : {
            "$ref" : "#/components/schemas/FileSystem"
          },
          "encryptionSettings" : {
            "$ref" : "#/components/schemas/EncryptionSettings"
          },
          "connectionParameters" : {
            "$ref" : "#/components/schemas/ConnectionParameters"
          }
        },
        "description" : "FTP Device properties"
      },
      "FtpServerSettings" : {
        "required" : [ "host", "path", "port", "protocol" ],
        "type" : "object",
        "properties" : {
          "protocol" : {
            "type" : "string",
            "description" : "FTP Protocol",
            "enum" : [ "ftp", "ftp_over_ssl_tls_explicit", "ftp_over_ssl_tls_implicit", "sftp", "unsupported" ]
          },
          "host" : {
            "type" : "string",
            "description" : "FTP Host IP Address"
          },
          "port" : {
            "type" : "integer",
            "description" : "Port number",
            "format" : "int32"
          },
          "path" : {
            "type" : "string",
            "description" : "FTP Path"
          },
          "passiveMode" : {
            "type" : "boolean",
            "description" : "Whether to use Passive Mode for connection",
            "default" : true
          },
          "maxConnections" : {
            "type" : "integer",
            "description" : "Maximum connection",
            "format" : "int32",
            "default" : -1
          },
          "asciiMode" : {
            "type" : "boolean",
            "description" : "Whether to use ASCII Mode File Type for connection",
            "default" : true
          },
          "userName" : {
            "type" : "string",
            "description" : "FTP Account Username"
          },
          "password" : {
            "type" : "string",
            "description" : "FTP Account Password",
            "writeOnly" : true
          },
          "ftpsCertificate" : {
            "type" : "string",
            "description" : "FTPS certificate",
            "writeOnly" : true
          },
          "hasFtpsCertificate" : {
            "type" : "boolean",
            "description" : "Indicates whether the FTPS certificate has been set",
            "readOnly" : true
          },
          "requireFtpsCertificate" : {
            "type" : "boolean",
            "description" : "Indicates whether to require FTPS certificate if FTPS protocol is used",
            "writeOnly" : true,
            "default" : false
          },
          "sftpAuthMode" : {
            "type" : "string",
            "description" : "The SFTP authentication mode",
            "default" : "password",
            "enum" : [ "password", "key", "unsupported" ]
          },
          "sftpAuthKey" : {
            "type" : "string",
            "description" : "The private key used for key-based SFTP authentication",
            "writeOnly" : true
          }
        },
        "description" : "FTP Server Settings"
      },
      "IosDeviceProperties" : {
        "required" : [ "appId", "providerCertificate" ],
        "type" : "object",
        "properties" : {
          "appId" : {
            "type" : "string",
            "description" : "Application ID"
          },
          "server" : {
            "type" : "string",
            "description" : "Push notification server name",
            "default" : "gateway.push.apple.com"
          },
          "port" : {
            "type" : "integer",
            "description" : "Port number",
            "format" : "int32",
            "default" : 2195
          },
          "providerCertificate" : {
            "type" : "string",
            "description" : "Provider Certificate file location on server or the file content"
          },
          "feedbackServiceServer" : {
            "type" : "string",
            "description" : "Feedback Service server name",
            "default" : "feedback.push.apple.com"
          },
          "feedbackServicePort" : {
            "type" : "integer",
            "description" : "Feedback Service Port number",
            "format" : "int32",
            "default" : 2195
          }
        },
        "description" : "Ipad Device properties"
      },
      "MimeSettings" : {
        "required" : [ "binaryAttachmentEncoding", "messageSensitivity", "plainTextHtmlBodyEncoding", "textAttachmentEncoding" ],
        "type" : "object",
        "properties" : {
          "plainTextHtmlBodyEncoding" : {
            "type" : "string",
            "description" : "Indicates the encoding for plaintext and HTML body.",
            "enum" : [ "quoted_printable", "base64", "ascii_7bit", "unsupported" ]
          },
          "textAttachmentEncoding" : {
            "type" : "string",
            "description" : "Indicates the encoding for text attachment. Only quoted_printable and base64 are supported",
            "enum" : [ "quoted_printable", "base64", "ascii_7bit", "unsupported" ]
          },
          "binaryAttachmentEncoding" : {
            "type" : "string",
            "description" : "Indicates the encoding for binary attachment. Only quoted_printable and base64 are supported",
            "enum" : [ "quoted_printable", "base64", "ascii_7bit", "unsupported" ]
          },
          "usAsciiEncoding" : {
            "type" : "boolean",
            "description" : "Whether to use US-ASCII for Subject, Attachments Names and Display Names",
            "default" : false
          },
          "nonUsAsciiQuotes" : {
            "type" : "boolean",
            "description" : "Whether to use put quotes around non US-ASCII Display Names. Enable for Microsoft Outlook 98 and Microsoft Outlook 2000 email client only",
            "default" : false
          },
          "embedHtmlAttachments" : {
            "type" : "boolean",
            "description" : "Whether to embed HTML Attachments",
            "default" : false
          },
          "embedAllAttachments" : {
            "type" : "boolean",
            "description" : "Whether to embed All Attachments",
            "default" : false
          },
          "embedAdobeFlashContent" : {
            "type" : "boolean",
            "description" : "Whether to embed Adobe Flash Content",
            "default" : false
          },
          "htmlTablePositionOnly" : {
            "type" : "boolean",
            "description" : "Whether to use only table to position elements in HTML (Enabled for Microsoft Outlook 2007)",
            "default" : false
          },
          "cssInlineStyle" : {
            "type" : "boolean",
            "description" : "Whether to use inline style CSS",
            "default" : false
          },
          "messageSensitivity" : {
            "type" : "string",
            "description" : "Indicates the message sensitivity",
            "enum" : [ "normal", "personal", "private", "confidential", "unsupported" ]
          },
          "securityLevel" : {
            "type" : "string",
            "description" : "Indicates the encryption level for S/MIME email delivery",
            "enum" : [ "low", "medium", "high", "unsupported" ]
          },
          "enableSigning" : {
            "type" : "boolean",
            "description" : "Whether to enable signing",
            "default" : false
          },
          "certificate" : {
            "type" : "string",
            "description" : "The certificate to be used for S/MIME signing",
            "writeOnly" : true
          },
          "hasCertificate" : {
            "type" : "boolean",
            "description" : "Indicates whether the certificate has been set",
            "readOnly" : true
          },
          "privateKey" : {
            "type" : "string",
            "description" : "The private key  to be used for S/MIME signing",
            "writeOnly" : true
          },
          "hasPrivateKey" : {
            "type" : "boolean",
            "description" : "Indicates whether the private key has been set",
            "readOnly" : true
          }
        },
        "description" : "MIME settings for MIME email format"
      },
      "PdfSettings" : {
        "type" : "object",
        "properties" : {
          "postScriptLevel" : {
            "maximum" : 9,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Post Script Level, 0 to 9",
            "format" : "int32",
            "default" : 2
          },
          "oddEvenPages" : {
            "type" : "string",
            "description" : "Indicates the odd or even printing of pages.",
            "default" : "all_pages",
            "enum" : [ "odd_pages", "even_pages", "all_pages", "unsupported" ]
          },
          "reversePages" : {
            "type" : "boolean",
            "description" : "Whether to use reverse pages.",
            "default" : false
          },
          "applicationPriority" : {
            "type" : "string",
            "description" : "Indicates the which application should get the priority when another application is using Adobe and IServer is trying to print PDF documents.",
            "enum" : [ "other", "i_server", "unsupported" ]
          }
        },
        "description" : "PDF printing settings"
      },
      "PrinterDeviceProperties" : {
        "required" : [ "backupPrinterProperties", "connectionParameters", "printerLocation", "printerProperties" ],
        "type" : "object",
        "properties" : {
          "printerLocation" : {
            "$ref" : "#/components/schemas/PrinterLocation"
          },
          "printerProperties" : {
            "$ref" : "#/components/schemas/PrinterProperties"
          },
          "connectionParameters" : {
            "$ref" : "#/components/schemas/ConnectionParameters"
          },
          "backupPrinterProperties" : {
            "$ref" : "#/components/schemas/BackupPrinterProperties"
          },
          "tempFileLocation" : {
            "type" : "string",
            "description" : "Temp File Location during print execution"
          }
        },
        "description" : "Printer Device properties"
      },
      "PrinterLocation" : {
        "required" : [ "location" ],
        "type" : "object",
        "properties" : {
          "location" : {
            "type" : "string",
            "description" : "Printer Location"
          },
          "userDefinedLocation" : {
            "type" : "boolean",
            "description" : "Whether to allow user defined location",
            "default" : false
          }
        },
        "description" : "Printer Location"
      },
      "PrinterProperties" : {
        "required" : [ "pdfSetting" ],
        "type" : "object",
        "properties" : {
          "scale" : {
            "type" : "integer",
            "description" : "Scale in %",
            "format" : "int32",
            "default" : 100
          },
          "quality" : {
            "type" : "string",
            "description" : "Print Quality"
          },
          "paperSource" : {
            "type" : "string",
            "description" : "Paper Source",
            "default" : "automatic",
            "enum" : [ "automatic", "manual", "unsupported" ]
          },
          "paperSize" : {
            "type" : "string",
            "description" : "Paper Size",
            "default" : "letter",
            "enum" : [ "letter", "letter_small", "tabloid", "ledger", "legal", "statement", "executive", "a3", "a4", "a4_small", "a5", "b4", "b5", "folio", "unsupported" ]
          },
          "pdfSetting" : {
            "$ref" : "#/components/schemas/PdfSettings"
          }
        },
        "description" : "Printer Properties"
      },
      "RestDeviceProperties" : {
        "required" : [ "fileLocation", "fileSystem" ],
        "type" : "object",
        "properties" : {
          "iamId" : {
            "type" : "string",
            "description" : "IAM service ID (required for OneDrive, SharePoint and Google Drive devices)"
          },
          "s3Credentials" : {
            "$ref" : "#/components/schemas/S3Credentials"
          },
          "fileLocation" : {
            "$ref" : "#/components/schemas/FileLocation"
          },
          "fileSystem" : {
            "$ref" : "#/components/schemas/FileSystem"
          },
          "encryptionSettings" : {
            "$ref" : "#/components/schemas/EncryptionSettings"
          }
        },
        "description" : "Google Drive Device properties"
      },
      "S3Credentials" : {
        "required" : [ "accessKeyId", "region" ],
        "type" : "object",
        "properties" : {
          "region" : {
            "type" : "string",
            "description" : "The AWS region where the S3 bucket is hosted, e.g., 'us-east-1'.",
            "example" : "us-east-1"
          },
          "accessKeyId" : {
            "type" : "string",
            "description" : "The AWS Access Key ID used for authenticating API requests.",
            "example" : "AKIAxxxxxxxxxxxxxxxx"
          },
          "secretAccessKey" : {
            "type" : "string",
            "description" : "The AWS Secret Access Key paired with Access Key ID for secure authentication.",
            "writeOnly" : true,
            "example" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYxxxxxxx"
          }
        },
        "description" : "Connection Parameters for S3 (required for S3 devices)"
      },
      "SmartHostSettings" : {
        "type" : "object",
        "properties" : {
          "server" : {
            "type" : "string",
            "description" : "Server Name or IP Address"
          },
          "port" : {
            "type" : "integer",
            "description" : "Port number",
            "format" : "int32",
            "default" : 25
          },
          "alwaysUseSmartHost" : {
            "type" : "boolean",
            "description" : "Whether to always use smart host",
            "default" : false
          },
          "smartHostUsername" : {
            "type" : "string",
            "description" : "Smart Host Username"
          },
          "smartHostPassword" : {
            "type" : "string",
            "description" : "Smart Host Password",
            "writeOnly" : true
          },
          "smartHostIamId" : {
            "type" : "string",
            "description" : "ID of the IAM used by the Smart Host OAuth authentication"
          }
        },
        "description" : "Smart host settings"
      },
      "TransmitterIdAndName" : {
        "required" : [ "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "ID of the Transmitter"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the Transmitter",
            "readOnly" : true
          }
        },
        "description" : "Information of Transmitter attached. "
      },
      "UnixWindowsSharity" : {
        "type" : "object",
        "properties" : {
          "sharityEnabled" : {
            "type" : "boolean",
            "description" : "Whether to enable delivery from Intelligence Server running on UNIX to Windows",
            "default" : false
          },
          "serverUsername" : {
            "type" : "string",
            "description" : "IServer Username used for Sharity"
          },
          "serverPassword" : {
            "type" : "string",
            "description" : "IServer Password used for Sharity",
            "writeOnly" : true
          },
          "serverMountRoot" : {
            "type" : "string",
            "description" : "IServer Mount root folder path for Sharity"
          }
        },
        "description" : "Unix to Windows Sharity settings"
      },
      "Devices" : {
        "type" : "object",
        "properties" : {
          "devices" : {
            "type" : "array",
            "description" : "List of Devices",
            "items" : {
              "$ref" : "#/components/schemas/Device"
            }
          }
        }
      },
      "EmailSendRequest" : {
        "required" : [ "content", "recipients", "subject" ],
        "type" : "object",
        "properties" : {
          "recipients" : {
            "type" : "array",
            "description" : "List of email recipients.",
            "items" : {
              "pattern" : "^(?=.{1,254}$)(?=.{1,64}@)[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)\\.)+[A-Za-z]{2,}$",
              "type" : "string",
              "description" : "List of email recipients."
            }
          },
          "subject" : {
            "maxLength" : 255,
            "minLength" : 0,
            "type" : "string",
            "description" : "Subject of the email. Maximum length is 255 characters."
          },
          "content" : {
            "maxLength" : 100000,
            "minLength" : 0,
            "type" : "string",
            "description" : "Email body content. Maximum length is 100,000 characters."
          },
          "deviceId" : {
            "type" : "string"
          }
        }
      },
      "BulkSendToHistoryItem" : {
        "required" : [ "objects" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "objects" : {
            "type" : "array",
            "description" : "List of message info objects",
            "items" : {
              "$ref" : "#/components/schemas/SendToHistoryListInfo"
            }
          }
        },
        "description" : "List of objects that will be send to history list in bulk operation"
      },
      "BulkSendToHistoryRequest" : {
        "type" : "object",
        "properties" : {
          "requests" : {
            "type" : "array",
            "description" : "List of objects that will be send to history list in bulk operation",
            "items" : {
              "$ref" : "#/components/schemas/BulkSendToHistoryItem"
            }
          }
        }
      },
      "HistoryListMessages" : {
        "type" : "object",
        "properties" : {
          "historyList" : {
            "type" : "array",
            "description" : "List of Inbox Messages",
            "items" : {
              "$ref" : "#/components/schemas/InboxMessage"
            }
          }
        }
      },
      "HistoryListGetRequest" : {
        "type" : "object",
        "properties" : {
          "messageIds" : {
            "type" : "array",
            "description" : "History List IDs",
            "items" : {
              "type" : "string",
              "description" : "History List IDs"
            }
          }
        }
      },
      "FenceDetailedWithId" : {
        "type" : "object",
        "properties" : {
          "rank" : {
            "type" : "integer",
            "description" : "Rank or precedence of the fence.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the fence."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fence.",
            "enum" : [ "user_fence", "workload_fence", "reserved" ]
          },
          "nodes" : {
            "type" : "array",
            "description" : "List of nodes across which the fence is applied.",
            "items" : {
              "type" : "string",
              "description" : "List of nodes across which the fence is applied."
            }
          },
          "users" : {
            "type" : "array",
            "description" : "List of users with user ID and user name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "usergroups" : {
            "type" : "array",
            "description" : "List of usergroups with usergroup ID and usergroup name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "projects" : {
            "type" : "array",
            "description" : "List of project with project ID and project name, to which the fence is applied.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectGuidAndName"
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Id of the fence."
          }
        }
      },
      "FenceInfoWithId" : {
        "type" : "object",
        "properties" : {
          "rank" : {
            "type" : "integer",
            "description" : "Rank or precedence of the fence.",
            "format" : "int32"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the fence."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of fence.",
            "enum" : [ "user_fence", "workload_fence", "reserved" ]
          },
          "nodes" : {
            "type" : "array",
            "description" : "List of nodes across which the fence is applied.",
            "items" : {
              "type" : "string",
              "description" : "List of nodes across which the fence is applied."
            }
          },
          "id" : {
            "type" : "string",
            "description" : "Id of the fence."
          }
        },
        "description" : "List of Fences"
      },
      "FencesWithIds" : {
        "type" : "object",
        "properties" : {
          "fences" : {
            "type" : "array",
            "description" : "List of Fences",
            "items" : {
              "$ref" : "#/components/schemas/FenceInfoWithId"
            }
          }
        }
      },
      "results" : {
        "type" : "object",
        "properties" : {
          "results" : {
            "type" : "array",
            "description" : "Multi status response",
            "items" : {
              "$ref" : "#/components/schemas/results"
            }
          }
        }
      },
      "IserverSettingValue" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "object",
            "description" : "Setting value from IServer"
          }
        },
        "example" : {
          "maxUsedVirtualByte" : {
            "value" : 100
          },
          "workSetSwapPath" : {
            "value" : ".\\TmpPool"
          },
          "ignoreGovernorOnChild" : {
            "value" : true
          }
        }
      },
      "PublishRequestV2Status" : {
        "required" : [ "publishStatusList" ],
        "type" : "object",
        "properties" : {
          "publishStatusList" : {
            "type" : "array",
            "description" : "A list indicating whether each object from the request was successfully published or not",
            "items" : {
              "$ref" : "#/components/schemas/PublishStatusEntry"
            }
          }
        }
      },
      "PublishStatusEntry" : {
        "required" : [ "objectsStatus", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID of the objects"
          },
          "objectsStatus" : {
            "type" : "array",
            "description" : "A list containing the status of each object that was to be published",
            "items" : {
              "$ref" : "#/components/schemas/StatusResponse"
            }
          }
        }
      },
      "PublishListEntry" : {
        "required" : [ "objects", "projectId" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "description" : "Project ID of the objects to publish"
          },
          "objects" : {
            "type" : "array",
            "description" : "An array of objects to publish",
            "items" : {
              "$ref" : "#/components/schemas/PublishObject"
            }
          }
        }
      },
      "PublishObject" : {
        "required" : [ "id", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Object ID or instance ID of the published object."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of object to be published.",
            "example" : "document_definition",
            "enum" : [ "document_definition", "report_definition" ]
          },
          "recipients" : {
            "type" : "array",
            "description" : "Users and groups the object will be published to.This field is ignored if an instance is being published; an in-memory instance is published only to the current user.",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "isInstance" : {
            "type" : "boolean",
            "description" : "Whether this is an in-memory instance"
          }
        }
      },
      "PublishRequestV2" : {
        "required" : [ "publishList" ],
        "type" : "object",
        "properties" : {
          "publishList" : {
            "type" : "array",
            "description" : "A collection of objects to publish",
            "items" : {
              "$ref" : "#/components/schemas/PublishListEntry"
            }
          }
        }
      },
      "MetadataSearchObjectRequest" : {
        "type" : "object",
        "properties" : {
          "includeSubfolders" : {
            "type" : "boolean",
            "description" : "Whether the search should include subfolder of the search root"
          },
          "dateFilterType" : {
            "type" : "string",
            "description" : "Either \"CREATED\" or \"MODIFIED\", depending on the date filter type. Default Modified.",
            "enum" : [ "CREATED", "MODIFIED" ]
          },
          "timeRange" : {
            "$ref" : "#/components/schemas/TimeRange"
          },
          "descriptionQuery" : {
            "type" : "string",
            "description" : "The search query for the description property"
          },
          "ownerId" : {
            "type" : "string",
            "description" : "The id of the owner"
          },
          "localeId" : {
            "type" : "integer",
            "description" : "The target language of the search, LCID format",
            "format" : "int32"
          },
          "excludedFolders" : {
            "type" : "array",
            "description" : "List of folders excluded from the search",
            "items" : {
              "type" : "string",
              "description" : "List of folders excluded from the search"
            }
          },
          "usesObject" : {
            "type" : "array",
            "description" : "Constrain the search to only return objects which use the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
            "items" : {
              "type" : "string",
              "description" : "Constrain the search to only return objects which use the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'."
            }
          },
          "usedByObject" : {
            "type" : "array",
            "description" : "Constrain the search to only return objects which are used by the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'.",
            "items" : {
              "type" : "string",
              "description" : "Constrain the search to only return objects which are used by the given object. The value should be: object Id;object type, for example: 'E02FE6DC430378A8BBD315AA791FC580;3'."
            }
          },
          "matchExactName" : {
            "type" : "boolean",
            "description" : "Match exact name option"
          },
          "matchExactDescription" : {
            "type" : "boolean",
            "description" : "Match exact description option"
          }
        }
      },
      "JobDetailedInfo" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Job information id."
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the job."
          },
          "jobId" : {
            "type" : "integer",
            "description" : "ID of the job.",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the job.",
            "enum" : [ "ready", "executing", "waiting", "completed", "error", "canceling", "stopped", "waiting_on_governor", "waiting_for_autoprompt", "waiting_for_project", "waiting_for_cache", "waiting_for_children", "waiting_for_results", "loading_prompt", "resolving_destination", "delivering", "exporting", "cache_ready", "waiting_for_di_file", "waiting_for_conflict_resolve", "step_pausing" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the job.",
            "enum" : [ "interactive", "subscription", "predictive_cache", "realtime" ]
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID."
          },
          "objectType" : {
            "type" : "string",
            "description" : "Object type.",
            "enum" : [ "report", "cube", "dossier", "document", "dashboard", "others" ]
          },
          "objectName" : {
            "type" : "string",
            "description" : "Object name."
          },
          "parentId" : {
            "type" : "string",
            "description" : "Parent ID."
          },
          "childIds" : {
            "type" : "array",
            "description" : "Array of child IDs.",
            "items" : {
              "type" : "string",
              "description" : "Array of child IDs."
            }
          },
          "subscriptionType" : {
            "type" : "string",
            "description" : "Subscription delivery type of the job.",
            "enum" : [ "reserved", "email", "file", "printer", "custom", "inbox", "client", "cache", "mobile", "blackberry", "iphone", "ipad", "campaign", "snapshot", "ftp", "android", "kpi", "onedrive", "sharepoint", "s3", "googledrive", "last_one", "count", "all", "all_including_snapshot" ]
          },
          "subscriptionRecipient" : {
            "type" : "string",
            "description" : "Subscription recipient of the job."
          },
          "processingUnitPriority" : {
            "type" : "string",
            "description" : "Job Processing Unit Priority.",
            "enum" : [ "p1_top", "p2_high", "p3_medium", "p4_low", "p5_bottom", "unassigned" ]
          },
          "stepId" : {
            "type" : "integer",
            "description" : "Step ID of the job.",
            "format" : "int32"
          },
          "user" : {
            "type" : "string",
            "description" : "Name of the job initiator."
          },
          "projectName" : {
            "type" : "string",
            "description" : "Name of the project in which the job is active."
          },
          "projectNames" : {
            "type" : "array",
            "description" : "List of project names consuming current job.",
            "items" : {
              "type" : "string",
              "description" : "List of project names consuming current job."
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Id of the project in which the job is active."
          },
          "projectIds" : {
            "type" : "array",
            "description" : "List of project IDs consuming current job.",
            "items" : {
              "type" : "string",
              "description" : "List of project IDs consuming current job."
            }
          },
          "puName" : {
            "type" : "string",
            "description" : "Processing Unit name.",
            "enum" : [ "browsing", "resolution", "query_execution", "analytical", "sql_engine", "data_formatting", "ncs", "rest_script_evaluation", "rest_asynchronous", "unknown_pu" ]
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time of the job in format of yyyy-MM-dd'T'HH:mm:ss.SSSZ."
          },
          "elapsedTime" : {
            "type" : "integer",
            "description" : "Time elapsed since the creation of the job in milliseconds."
          },
          "stepElapsedTime" : {
            "type" : "integer",
            "description" : "Time elapsed since the creation of the step in milliseconds."
          },
          "memoryUsage" : {
            "type" : "integer",
            "description" : "Memory usage of the job in bytes."
          },
          "clientMachine" : {
            "type" : "string",
            "description" : "Client machine running the job."
          },
          "server" : {
            "type" : "string",
            "description" : "Server, where the query is being executed. In case of realtime job, server is where the query has originated."
          },
          "totalTasks" : {
            "type" : "integer",
            "description" : "Total tasks of the job.",
            "format" : "int32"
          },
          "completedTasks" : {
            "type" : "integer",
            "description" : "Completed tasks of the job.",
            "format" : "int32"
          },
          "source" : {
            "type" : "string",
            "description" : "Client application consuming current job."
          },
          "userCount" : {
            "type" : "integer",
            "description" : "Number of users consuming current job.",
            "format" : "int32"
          },
          "projectNameCount" : {
            "type" : "integer",
            "description" : "Number of project names consuming current job.",
            "format" : "int32"
          },
          "projectIdCount" : {
            "type" : "integer",
            "description" : "Number of project IDs consuming current job.",
            "format" : "int32"
          },
          "objectIdCount" : {
            "type" : "integer",
            "description" : "Number of object IDs served by current job.",
            "format" : "int32"
          },
          "clientMachineCount" : {
            "type" : "integer",
            "description" : "Number of client machines running current job.",
            "format" : "int32"
          },
          "serverCount" : {
            "type" : "integer",
            "description" : "Number of intelligence servers that launched queries that consume current job.",
            "format" : "int32"
          },
          "tenantID" : {
            "type" : "string",
            "description" : "Tenant id of a job."
          },
          "errorMessage" : {
            "type" : "string",
            "description" : "Error message for the job."
          },
          "errorTime" : {
            "type" : "string",
            "description" : "Error time of the job."
          },
          "filterName" : {
            "type" : "string",
            "description" : "Filter name of the job."
          },
          "sql" : {
            "type" : "string",
            "description" : "SQL for the job."
          },
          "subscriptionOwner" : {
            "type" : "string",
            "description" : "Subscription owner."
          },
          "templateName" : {
            "type" : "string",
            "description" : "Name of the template for the job."
          },
          "stepStatistics" : {
            "type" : "array",
            "description" : "Step statistics for the job.",
            "items" : {
              "$ref" : "#/components/schemas/StepStatistics"
            }
          },
          "processingEngineJobId" : {
            "type" : "string",
            "description" : "Processing engine job ID."
          },
          "taskSlots" : {
            "type" : "integer",
            "description" : "Number of processing engine task slots the job is consuming.",
            "format" : "int32"
          },
          "schema" : {
            "type" : "string",
            "description" : "Realtime job schema as a stringified json."
          }
        }
      },
      "StepStatistics" : {
        "type" : "object",
        "properties" : {
          "stepId" : {
            "type" : "integer",
            "description" : "Step Id",
            "format" : "int32"
          },
          "elapsedTime" : {
            "type" : "integer",
            "description" : "Elapsed Time.",
            "format" : "int64"
          }
        },
        "description" : "Step statistics for the job."
      },
      "JobInfoV2" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Job information id."
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the job."
          },
          "jobId" : {
            "type" : "integer",
            "description" : "ID of the job.",
            "format" : "int32"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the job.",
            "enum" : [ "ready", "executing", "waiting", "completed", "error", "canceling", "stopped", "waiting_on_governor", "waiting_for_autoprompt", "waiting_for_project", "waiting_for_cache", "waiting_for_children", "waiting_for_results", "loading_prompt", "resolving_destination", "delivering", "exporting", "cache_ready", "waiting_for_di_file", "waiting_for_conflict_resolve", "step_pausing" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the job.",
            "enum" : [ "interactive", "subscription", "predictive_cache", "realtime" ]
          },
          "objectId" : {
            "type" : "string",
            "description" : "Object ID."
          },
          "objectType" : {
            "type" : "string",
            "description" : "Object type.",
            "enum" : [ "report", "cube", "dossier", "document", "dashboard", "others" ]
          },
          "objectName" : {
            "type" : "string",
            "description" : "Object name."
          },
          "parentId" : {
            "type" : "string",
            "description" : "Parent ID."
          },
          "childIds" : {
            "type" : "array",
            "description" : "Array of child IDs.",
            "items" : {
              "type" : "string",
              "description" : "Array of child IDs."
            }
          },
          "subscriptionType" : {
            "type" : "string",
            "description" : "Subscription delivery type of the job.",
            "enum" : [ "reserved", "email", "file", "printer", "custom", "inbox", "client", "cache", "mobile", "blackberry", "iphone", "ipad", "campaign", "snapshot", "ftp", "android", "kpi", "onedrive", "sharepoint", "s3", "googledrive", "last_one", "count", "all", "all_including_snapshot" ]
          },
          "subscriptionRecipient" : {
            "type" : "string",
            "description" : "Subscription recipient of the job."
          },
          "processingUnitPriority" : {
            "type" : "string",
            "description" : "Job Processing Unit Priority.",
            "enum" : [ "p1_top", "p2_high", "p3_medium", "p4_low", "p5_bottom", "unassigned" ]
          },
          "stepId" : {
            "type" : "integer",
            "description" : "Step ID of the job.",
            "format" : "int32"
          },
          "user" : {
            "type" : "string",
            "description" : "Name of the job initiator."
          },
          "projectName" : {
            "type" : "string",
            "description" : "Name of the project in which the job is active."
          },
          "projectNames" : {
            "type" : "array",
            "description" : "List of project names consuming current job.",
            "items" : {
              "type" : "string",
              "description" : "List of project names consuming current job."
            }
          },
          "projectId" : {
            "type" : "string",
            "description" : "Id of the project in which the job is active."
          },
          "projectIds" : {
            "type" : "array",
            "description" : "List of project IDs consuming current job.",
            "items" : {
              "type" : "string",
              "description" : "List of project IDs consuming current job."
            }
          },
          "puName" : {
            "type" : "string",
            "description" : "Processing Unit name.",
            "enum" : [ "browsing", "resolution", "query_execution", "analytical", "sql_engine", "data_formatting", "ncs", "rest_script_evaluation", "rest_asynchronous", "unknown_pu" ]
          },
          "creationTime" : {
            "type" : "string",
            "description" : "Creation time of the job in format of yyyy-MM-dd'T'HH:mm:ss.SSSZ."
          },
          "elapsedTime" : {
            "type" : "integer",
            "description" : "Time elapsed since the creation of the job in milliseconds."
          },
          "stepElapsedTime" : {
            "type" : "integer",
            "description" : "Time elapsed since the creation of the step in milliseconds."
          },
          "memoryUsage" : {
            "type" : "integer",
            "description" : "Memory usage of the job in bytes."
          },
          "clientMachine" : {
            "type" : "string",
            "description" : "Client machine running the job."
          },
          "server" : {
            "type" : "string",
            "description" : "Server, where the query is being executed. In case of realtime job, server is where the query has originated."
          },
          "totalTasks" : {
            "type" : "integer",
            "description" : "Total tasks of the job.",
            "format" : "int32"
          },
          "completedTasks" : {
            "type" : "integer",
            "description" : "Completed tasks of the job.",
            "format" : "int32"
          },
          "source" : {
            "type" : "string",
            "description" : "Client application consuming current job."
          },
          "userCount" : {
            "type" : "integer",
            "description" : "Number of users consuming current job.",
            "format" : "int32"
          },
          "projectNameCount" : {
            "type" : "integer",
            "description" : "Number of project names consuming current job.",
            "format" : "int32"
          },
          "projectIdCount" : {
            "type" : "integer",
            "description" : "Number of project IDs consuming current job.",
            "format" : "int32"
          },
          "objectIdCount" : {
            "type" : "integer",
            "description" : "Number of object IDs served by current job.",
            "format" : "int32"
          },
          "clientMachineCount" : {
            "type" : "integer",
            "description" : "Number of client machines running current job.",
            "format" : "int32"
          },
          "serverCount" : {
            "type" : "integer",
            "description" : "Number of intelligence servers that launched queries that consume current job.",
            "format" : "int32"
          },
          "tenantID" : {
            "type" : "string",
            "description" : "Tenant id of a job."
          }
        },
        "description" : "List of Jobs"
      },
      "JobQueries" : {
        "type" : "object",
        "properties" : {
          "queries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/JobInfoV2"
            }
          }
        }
      },
      "JobEnums" : {
        "type" : "object",
        "properties" : {
          "jobType" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Job type",
            "items" : {
              "type" : "string",
              "description" : "Job type",
              "enum" : [ "interactive", "subscription", "predictive_cache", "realtime" ]
            }
          },
          "puName" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "PU name",
            "items" : {
              "type" : "string",
              "description" : "PU name",
              "enum" : [ "browsing", "resolution", "query_execution", "analytical", "sql_engine", "data_formatting", "ncs", "rest_script_evaluation", "rest_asynchronous", "unknown_pu" ]
            }
          },
          "status" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Job status",
            "items" : {
              "type" : "string",
              "description" : "Job status",
              "enum" : [ "ready", "executing", "waiting", "completed", "error", "canceling", "stopped", "waiting_on_governor", "waiting_for_autoprompt", "waiting_for_project", "waiting_for_cache", "waiting_for_children", "waiting_for_results", "loading_prompt", "resolving_destination", "delivering", "exporting", "cache_ready", "waiting_for_di_file", "waiting_for_conflict_resolve", "step_pausing" ]
            }
          },
          "subscriptionType" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Job delivery type",
            "items" : {
              "type" : "string",
              "description" : "Job delivery type",
              "enum" : [ "reserved", "email", "file", "printer", "custom", "inbox", "client", "cache", "mobile", "blackberry", "iphone", "ipad", "campaign", "snapshot", "ftp", "android", "kpi", "onedrive", "sharepoint", "s3", "googledrive", "last_one", "count", "all", "all_including_snapshot" ]
            }
          },
          "type" : {
            "uniqueItems" : true,
            "type" : "array",
            "description" : "Job object type",
            "items" : {
              "type" : "string",
              "description" : "Job object type",
              "enum" : [ "report", "cube", "dossier", "document", "dashboard", "others" ]
            }
          }
        }
      },
      "JobInfosV2" : {
        "type" : "object",
        "properties" : {
          "jobs" : {
            "type" : "array",
            "description" : "List of Jobs",
            "items" : {
              "$ref" : "#/components/schemas/JobInfoV2"
            }
          },
          "metadata" : {
            "$ref" : "#/components/schemas/JobMetadata"
          }
        }
      },
      "JobMetadata" : {
        "type" : "object",
        "properties" : {
          "totalRunning" : {
            "type" : "integer",
            "description" : "Total running jobs"
          },
          "ready" : {
            "type" : "integer",
            "description" : "Ready jobs",
            "format" : "int64"
          },
          "error" : {
            "type" : "integer",
            "description" : "Errored jobs",
            "format" : "int64"
          },
          "canceling" : {
            "type" : "integer",
            "description" : "Canceling jobs",
            "format" : "int64"
          },
          "stopped" : {
            "type" : "integer",
            "description" : "Stopped jobs",
            "format" : "int64"
          },
          "completed" : {
            "type" : "integer",
            "description" : "Completed jobs",
            "format" : "int64"
          },
          "delivering" : {
            "type" : "integer",
            "description" : "Delivering jobs",
            "format" : "int64"
          },
          "executing" : {
            "type" : "integer",
            "description" : "Executing jobs",
            "format" : "int64"
          },
          "exporting" : {
            "type" : "integer",
            "description" : "Exporting jobs",
            "format" : "int64"
          },
          "historyErrored" : {
            "type" : "integer",
            "description" : "History of errored jobs",
            "format" : "int64"
          },
          "loadingPrompt" : {
            "type" : "integer",
            "description" : "Loading Prompt jobs",
            "format" : "int64"
          },
          "pausing" : {
            "type" : "integer",
            "description" : "Pausing jobs",
            "format" : "int64"
          },
          "resolvingDestination" : {
            "type" : "integer",
            "description" : "Jobs resolving destination",
            "format" : "int64"
          },
          "waiting" : {
            "type" : "integer",
            "description" : "Waiting jobs",
            "format" : "int64"
          },
          "waitingForAutoprompt" : {
            "type" : "integer",
            "description" : "Jobs waiting for autoprompt",
            "format" : "int64"
          },
          "waitingForCache" : {
            "type" : "integer",
            "description" : "Jobs waiting for cache",
            "format" : "int64"
          },
          "waitingForCacheReady" : {
            "type" : "integer",
            "description" : "Jobs waiting for cache ready",
            "format" : "int64"
          },
          "waitingForChildren" : {
            "type" : "integer",
            "description" : "Jobs waiting for children",
            "format" : "int64"
          },
          "waitingForConflictResolve" : {
            "type" : "integer",
            "description" : "Jobs waiting for conflict resolve",
            "format" : "int64"
          },
          "waitingForProject" : {
            "type" : "integer",
            "description" : "Jobs waiting for project",
            "format" : "int64"
          },
          "waitingForResults" : {
            "type" : "integer",
            "description" : "Jobs waiting for results",
            "format" : "int64"
          },
          "waitingOnGovernor" : {
            "type" : "integer",
            "description" : "Jobs waiting for governor",
            "format" : "int64"
          },
          "waitingForDIFile" : {
            "type" : "integer",
            "description" : "Jobs waiting for DI file",
            "format" : "int64"
          }
        },
        "description" : "Job Metadata"
      },
      "PercentageUsage" : {
        "type" : "object",
        "properties" : {
          "busy" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the busy jobs"
          },
          "misc" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the miscellaneous job"
          },
          "switchPu" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the switch PU jobs"
          },
          "wait" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the wait jobs"
          }
        },
        "description" : "Percentage usage"
      },
      "ProcessingUnit" : {
        "type" : "object",
        "properties" : {
          "occupiedThreadCount" : {
            "type" : "number",
            "description" : "Occupied Thread Count",
            "format" : "float"
          },
          "threadCount" : {
            "type" : "number",
            "description" : "Total Thread Count",
            "format" : "float"
          },
          "threads" : {
            "type" : "array",
            "description" : "List of threads",
            "items" : {
              "type" : "object",
              "description" : "List of threads"
            }
          },
          "threadsStatistics" : {
            "$ref" : "#/components/schemas/ThreadsStatistics"
          }
        },
        "description" : "NCS Command PU Trigger"
      },
      "ProcessingUnitJobCount" : {
        "type" : "object",
        "properties" : {
          "occupiedThreadCount" : {
            "type" : "number",
            "description" : "Occupied Thread Count",
            "format" : "float"
          },
          "threadCount" : {
            "type" : "number",
            "description" : "Total Thread Count",
            "format" : "float"
          },
          "threads" : {
            "type" : "array",
            "description" : "List of threads",
            "items" : {
              "type" : "object",
              "description" : "List of threads"
            }
          },
          "threadsStatistics" : {
            "$ref" : "#/components/schemas/ThreadsStatistics"
          },
          "waitingJobCount" : {
            "type" : "number",
            "description" : "Number of waiting jobs",
            "format" : "float"
          }
        },
        "description" : "Performance counters command"
      },
      "ProcessingUnitJobs" : {
        "type" : "object",
        "properties" : {
          "occupiedThreadCount" : {
            "type" : "number",
            "description" : "Occupied Thread Count",
            "format" : "float"
          },
          "threadCount" : {
            "type" : "number",
            "description" : "Total Thread Count",
            "format" : "float"
          },
          "threads" : {
            "type" : "array",
            "description" : "List of threads",
            "items" : {
              "type" : "object",
              "description" : "List of threads"
            }
          },
          "threadsStatistics" : {
            "$ref" : "#/components/schemas/ThreadsStatistics"
          },
          "waitingJobCount" : {
            "type" : "number",
            "description" : "Number of waiting jobs",
            "format" : "float"
          },
          "jobCount" : {
            "type" : "number",
            "description" : "Number of jobs",
            "format" : "float"
          },
          "jobs" : {
            "type" : "object",
            "description" : "Jobs"
          }
        },
        "description" : "REST Script Evaluation"
      },
      "PuDump" : {
        "type" : "object",
        "properties" : {
          "analytical" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "browsing" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "command" : {
            "$ref" : "#/components/schemas/ProcessingUnit"
          },
          "dataFormatting" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "ncsCommand" : {
            "$ref" : "#/components/schemas/ProcessingUnit"
          },
          "ncsCommandPuTrigger" : {
            "$ref" : "#/components/schemas/ProcessingUnit"
          },
          "ncs" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "perfCountersCommand" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobCount"
          },
          "queryExecution" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "resolution" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "restAsynchronous" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "sqlEngine" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "restScriptEvaluation" : {
            "$ref" : "#/components/schemas/ProcessingUnitJobs"
          },
          "totalJobs" : {
            "type" : "number",
            "description" : "Total jobs",
            "format" : "float"
          },
          "totalThreads" : {
            "type" : "number",
            "description" : "Total threads",
            "format" : "float"
          }
        },
        "description" : "Processing Units"
      },
      "PuInfo" : {
        "type" : "object",
        "properties" : {
          "pus" : {
            "$ref" : "#/components/schemas/PuDump"
          }
        }
      },
      "ThreadUsage" : {
        "type" : "object",
        "properties" : {
          "busy" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the busy jobs"
          },
          "misc" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the miscellaneous job"
          },
          "switchPu" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the switch PU jobs"
          },
          "wait" : {
            "type" : "string",
            "description" : "Percentage of CPU used by the wait jobs"
          },
          "life" : {
            "type" : "string",
            "description" : "Thread life"
          }
        },
        "description" : "Thread usage"
      },
      "ThreadsStatistics" : {
        "type" : "object",
        "properties" : {
          "percentageUsage" : {
            "$ref" : "#/components/schemas/PercentageUsage"
          },
          "threadUsage" : {
            "$ref" : "#/components/schemas/ThreadUsage"
          }
        },
        "description" : "Threads Statistics"
      },
      "ProjectCreationResponse" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Project ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Project name"
          },
          "description" : {
            "type" : "string",
            "description" : "Project description"
          },
          "owner" : {
            "$ref" : "#/components/schemas/OwnerInfo"
          }
        }
      },
      "ProjectSettingProperty" : {
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "object",
            "description" : "project setting properties"
          },
          "id" : {
            "type" : "string",
            "description" : "Optional id of the property"
          }
        }
      },
      "ReportInstanceUpdateInfo" : {
        "type" : "object",
        "properties" : {
          "viewFilter" : {
            "$ref" : "#/components/schemas/Expression"
          },
          "metricLimits" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Expression"
            },
            "description" : "Metric limits"
          },
          "sorting" : {
            "$ref" : "#/components/schemas/SortingConfig"
          },
          "subtotals" : {
            "$ref" : "#/components/schemas/SubtotalsConfig"
          },
          "currentPageBy" : {
            "type" : "array",
            "description" : "The current Page by",
            "items" : {
              "$ref" : "#/components/schemas/ObjectId"
            }
          },
          "properties" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Properties of the report instance"
              },
              "description" : "Properties of the report instance"
            },
            "description" : "Properties of the report instance"
          },
          "empty" : {
            "type" : "boolean",
            "description" : "Check if nothing for manipulation--report only. For cube, an ad-hoc template is always constructed."
          },
          "template" : {
            "$ref" : "#/components/schemas/RequestedObjects"
          }
        }
      },
      "SchedulesV2" : {
        "type" : "object",
        "properties" : {
          "schedules" : {
            "type" : "array",
            "description" : "List of schedules, able to show hidden objects",
            "items" : {
              "$ref" : "#/components/schemas/ScheduleV2"
            }
          }
        }
      },
      "PromptInfos" : {
        "type" : "object",
        "properties" : {
          "contents" : {
            "type" : "array",
            "description" : "The content ID and the desired prompt answers with subscription",
            "writeOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/PromptInfo"
            }
          }
        }
      },
      "UserAddressV2" : {
        "required" : [ "deliveryType", "deviceId", "isDefault", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Address id",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Address name",
            "example" : "New user address"
          },
          "physicalAddress" : {
            "type" : "string",
            "description" : "Physical address"
          },
          "deliveryType" : {
            "type" : "string",
            "description" : "Delivery type",
            "enum" : [ "email", "file", "printer", "ftp", "mobile_android", "mobile_iphone", "mobile_ipad", "onedrive", "sharepoint", "s3", "googledrive", "unsupported" ]
          },
          "deviceId" : {
            "type" : "string",
            "description" : "Device id"
          },
          "deviceName" : {
            "type" : "string",
            "description" : "Device name",
            "readOnly" : true
          },
          "isDefault" : {
            "type" : "boolean",
            "description" : "Whether the address is default",
            "default" : false
          },
          "encryptionKey" : {
            "type" : "string",
            "description" : "The key  to be used for encryption, only applicable for EMAIL delivery type",
            "writeOnly" : true
          },
          "hasEncryptionKey" : {
            "type" : "boolean",
            "description" : "Indicates whether the encryption key has been set",
            "readOnly" : true
          }
        }
      },
      "UserAddressesV2" : {
        "type" : "object",
        "properties" : {
          "addresses" : {
            "type" : "array",
            "description" : "List of addresses assigned to the user",
            "items" : {
              "$ref" : "#/components/schemas/UserAddressV2"
            }
          }
        }
      },
      "BearerTokenConfigResponse" : {
        "type" : "object",
        "properties" : {
          "token" : {
            "type" : "string"
          },
          "expiresAt" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "BearerTokenConfigRequest" : {
        "type" : "object",
        "properties" : {
          "duration" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "BearerToken" : {
        "type" : "object",
        "properties" : {
          "tokenPrefix" : {
            "type" : "string"
          },
          "expiresAt" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "GroupAttributeMap" : {
        "type" : "object",
        "properties" : {
          "distinguishedName" : {
            "$ref" : "#/components/schemas/AttributeInfo"
          }
        }
      },
      "ScimConfig" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean"
          },
          "bearer" : {
            "$ref" : "#/components/schemas/BearerToken"
          },
          "userAttributeMap" : {
            "$ref" : "#/components/schemas/UserAttributeMap"
          },
          "groupAttributeMap" : {
            "$ref" : "#/components/schemas/GroupAttributeMap"
          }
        }
      },
      "UserAttributeMap" : {
        "type" : "object",
        "properties" : {
          "trustId" : {
            "$ref" : "#/components/schemas/AttributeInfo"
          },
          "distinguishedName" : {
            "$ref" : "#/components/schemas/AttributeInfo"
          },
          "language" : {
            "$ref" : "#/components/schemas/AttributeInfo"
          },
          "systemPrompts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SystemPrompt"
            }
          }
        }
      },
      "Meta" : {
        "type" : "object",
        "properties" : {
          "resourceType" : {
            "maxLength" : 2147483647,
            "minLength" : 1,
            "type" : "string"
          },
          "created" : {
            "type" : "string",
            "format" : "date-time"
          },
          "lastModified" : {
            "type" : "string",
            "format" : "date-time"
          },
          "location" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string"
          }
        }
      },
      "ScimResource" : {
        "required" : [ "meta" ],
        "type" : "object",
        "properties" : {
          "schemas" : {
            "maxItems" : 2147483647,
            "minItems" : 1,
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "xml" : {
                "name" : "schemas"
              }
            }
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          },
          "id" : {
            "maxLength" : 2147483647,
            "minLength" : 1,
            "type" : "string"
          },
          "externalId" : {
            "type" : "string"
          }
        }
      },
      "GroupMembership" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          },
          "ref" : {
            "type" : "string",
            "xml" : {
              "name" : "$ref"
            }
          },
          "display" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "USER", "GROUP" ]
          }
        }
      },
      "ScimGroup" : {
        "required" : [ "meta" ],
        "type" : "object",
        "properties" : {
          "schemas" : {
            "maxItems" : 2147483647,
            "minItems" : 1,
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "xml" : {
                "name" : "schemas"
              }
            }
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          },
          "id" : {
            "maxLength" : 2147483647,
            "minLength" : 1,
            "type" : "string"
          },
          "externalId" : {
            "type" : "string"
          },
          "displayName" : {
            "type" : "string"
          },
          "members" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/GroupMembership"
            }
          }
        },
        "xml" : {
          "name" : "Group"
        }
      },
      "AttributeReference" : {
        "type" : "object",
        "properties" : {
          "urn" : {
            "type" : "string"
          },
          "attributeName" : {
            "type" : "string"
          },
          "subAttributeName" : {
            "type" : "string"
          },
          "fullAttributeName" : {
            "type" : "string"
          },
          "attributeBase" : {
            "type" : "string"
          },
          "fullyQualifiedAttributeName" : {
            "type" : "string"
          }
        }
      },
      "FilterExpression" : {
        "type" : "object"
      },
      "PatchOperationPath" : {
        "type" : "object",
        "properties" : {
          "valuePathExpression" : {
            "$ref" : "#/components/schemas/ValuePathExpression"
          }
        }
      },
      "PatchRequest" : {
        "type" : "object",
        "properties" : {
          "schemas" : {
            "maxItems" : 2147483647,
            "minItems" : 1,
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "xml" : {
                "name" : "schemas"
              }
            }
          },
          "patchOperationList" : {
            "type" : "array",
            "xml" : {
              "name" : "Operations"
            },
            "items" : {
              "$ref" : "#/components/schemas/PatchOperation"
            }
          }
        }
      },
      "ValuePathExpression" : {
        "type" : "object",
        "properties" : {
          "attributePath" : {
            "$ref" : "#/components/schemas/AttributeReference"
          },
          "attributeExpression" : {
            "$ref" : "#/components/schemas/FilterExpression"
          }
        }
      },
      "Address" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          },
          "country" : {
            "type" : "string"
          },
          "formatted" : {
            "type" : "string"
          },
          "locality" : {
            "type" : "string"
          },
          "postalCode" : {
            "type" : "string"
          },
          "region" : {
            "type" : "string"
          },
          "streetAddress" : {
            "type" : "string"
          }
        }
      },
      "Email" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "Entitlement" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "Im" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "Name" : {
        "type" : "object",
        "properties" : {
          "formatted" : {
            "type" : "string"
          },
          "familyName" : {
            "type" : "string"
          },
          "givenName" : {
            "type" : "string"
          },
          "middleName" : {
            "type" : "string"
          },
          "honorificPrefix" : {
            "type" : "string"
          },
          "honorificSuffix" : {
            "type" : "string"
          }
        }
      },
      "PhoneNumber" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "Photo" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "Role" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "ScimUser" : {
        "required" : [ "meta" ],
        "type" : "object",
        "properties" : {
          "schemas" : {
            "maxItems" : 2147483647,
            "minItems" : 1,
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "type" : "string",
              "xml" : {
                "name" : "schemas"
              }
            }
          },
          "meta" : {
            "$ref" : "#/components/schemas/Meta"
          },
          "id" : {
            "maxLength" : 2147483647,
            "minLength" : 1,
            "type" : "string"
          },
          "externalId" : {
            "type" : "string"
          },
          "active" : {
            "type" : "boolean"
          },
          "addresses" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Address"
            }
          },
          "displayName" : {
            "type" : "string"
          },
          "emails" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Email"
            }
          },
          "entitlements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Entitlement"
            }
          },
          "groups" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/UserGroup"
            }
          },
          "ims" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Im"
            }
          },
          "locale" : {
            "type" : "string"
          },
          "name" : {
            "$ref" : "#/components/schemas/Name"
          },
          "nickName" : {
            "type" : "string"
          },
          "password" : {
            "type" : "string"
          },
          "phoneNumbers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PhoneNumber"
            }
          },
          "photos" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Photo"
            }
          },
          "profileUrl" : {
            "type" : "string"
          },
          "preferredLanguage" : {
            "type" : "string"
          },
          "roles" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Role"
            }
          },
          "timezone" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "userName" : {
            "type" : "string"
          },
          "userType" : {
            "type" : "string"
          },
          "x509Certificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/X509Certificate"
            }
          }
        },
        "xml" : {
          "name" : "User"
        }
      },
      "UserGroup" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          },
          "ref" : {
            "type" : "string",
            "xml" : {
              "name" : "$ref"
            }
          },
          "display" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "DIRECT", "INDIRECT" ]
          }
        }
      },
      "X509Certificate" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "display" : {
            "type" : "string"
          },
          "primary" : {
            "type" : "boolean"
          }
        }
      },
      "ms-Changeset" : {
        "title" : "Changeset Information",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "changeset id"
          },
          "type" : {
            "type" : "string",
            "description" : "changeset type",
            "enum" : [ "metadata", "package" ]
          },
          "status" : {
            "type" : "string",
            "description" : "changeset status",
            "enum" : [ "Ready", "InProcess", "Error" ]
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The date/time at which this changeset was first created.",
            "format" : "date-time"
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The date/time at which this changeset was last modified.",
            "format" : "date-time"
          },
          "mstrProjectId" : {
            "type" : "string",
            "description" : "The id of the project based on which the changeset was created."
          },
          "mstrUserId" : {
            "type" : "string",
            "description" : "The id of the user for whom the changeset was created."
          },
          "userName" : {
            "type" : "string",
            "description" : "The name of the user for whom the changeset was created."
          },
          "userDateNumberLocale" : {
            "type" : "string",
            "description" : "The user's resolved date number locale, in the IETF BCP 47 language tag format."
          },
          "userMetadataLocale" : {
            "type" : "string",
            "description" : "The user's resolved metadata locale, in the IETF BCP 47 language tag format."
          },
          "userWarehouseLocale" : {
            "type" : "string",
            "description" : "The user's resolved data warehouse locale, in the IETF BCP 47 language tag format."
          }
        },
        "description" : "Detailed information about a changeset"
      },
      "ms-ChangeJournal" : {
        "title" : "Change Journal",
        "type" : "object",
        "properties" : {
          "changeJournal" : {
            "type" : "object",
            "properties" : {
              "userComments" : {
                "type" : "string",
                "description" : "User comments for the change journal.\n"
              }
            }
          }
        }
      },
      "ms-Cube" : {
        "description" : "Object that specifies an _Intelligent Cube defintion_.\nAn Intelligent Cube is a set of data that can be shared as a single in-memory copy, among many different reports created by multiple users. Rather than returning data from the data warehouse for a single report, you can return sets of data from your data warehouse and save them directly to Intelligence Server memory. The reports accessing Intelligent Cubes can use all of the OLAP Services features for analysis and reporting purposes.\n\nThe cube defintion describes what template units needs to be included into the cube, such as attributes, metrics. \n\nThe template definition describes what you data you want to include into the cube. You are able to add attributes, metrics, and so on, in rows, columns, or pageBys. The cube template could be either standalone or embedded to the cube. When the template is embedded, the `rows`, `columns`, and `pageBy` could be edited. When the cube is using a standalone object. The `standaloneTemplate` contains the reference. If you want to see the defintion of the standalone template, you can call **GET** _/model/templates/{TemplateId}_. The `standaloneTemplate` is read-only and not editable. We encourage you to use embedded templates. As for now, you can only converting a standalone template to embedded by defining the `rows`, `columns`, and `pageBy`.\n\nThe model doesn't contain the real data from the data warehouse. You need to publish the cube to get the real data.\n",
        "oneOf" : [ {
          "allOf" : [ {
            "title" : "Normal Cube Definition"
          }, {
            "$ref" : "#/components/schemas/ms-NormalCube"
          }, {
            "type" : "object",
            "properties" : {
              "sourceType" : {
                "type" : "string",
                "enum" : [ "relational" ]
              },
              "template" : {
                "title" : "Cube Template",
                "oneOf" : [ {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-InnerTemplate"
                  }, {
                    "title" : "Embedded Template"
                  } ]
                }, {
                  "title" : "Standalone Template",
                  "type" : "object",
                  "properties" : {
                    "standaloneTemplate" : {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }
                  }
                } ]
              },
              "filter" : {
                "title" : "Cube Filter",
                "description" : "By defining a cube filter, the data will be filtered accordingly when you publish your data. You can also define a bunch of options to control the behavior of cube regarding data and publishing. If you create a filter on an Intelligent Cube, any data that is restricted from the Intelligent Cube is not available for any reports that connect to the Intelligent Cube. While this can help reduce the size of the Intelligent Cube, it also reduces the amount of data available in the Intelligent Cube. The cube filter could be either standalone or embedded. When the cube filter is standalone, you will see `standaloneFilter` in the `filter` property. The `standaloneFilter` property is read-only. We encourage the users to use a cube embedded filter. Currently, you can not modify a cube by assigning a `standaloneFilter`.",
                "oneOf" : [ {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-Expression"
                  }, {
                    "title" : "Embedded Filter"
                  } ]
                }, {
                  "title" : "Standalone Filter",
                  "type" : "object",
                  "properties" : {
                    "standaloneFilter" : {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }
                  }
                } ]
              }
            }
          } ]
        }, {
          "allOf" : [ {
            "title" : "FFSQL Cube Definition"
          }, {
            "$ref" : "#/components/schemas/ms-NormalCube"
          }, {
            "type" : "object",
            "properties" : {
              "sourceType" : {
                "type" : "string",
                "enum" : [ "custom_sql_free_form" ]
              },
              "template" : {
                "title" : "Cube Template",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-InnerTemplate"
                }, {
                  "title" : "Embedded Template"
                } ]
              },
              "table" : {
                "$ref" : "#/components/schemas/ms-XdaLogicalTable"
              }
            }
          } ]
        } ]
      },
      "ms-ApplicableVldbProperties" : {
        "title" : "Applicable properties wrapper object",
        "type" : "object",
        "properties" : {
          "propertyCount" : {
            "type" : "number",
            "description" : "total number of properties returned for a particular object"
          },
          "applicableProperties" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-ApplicableProperty"
            },
            "description" : "dictionary of applicable properties"
          },
          "dynamicSqlPreview" : {
            "type" : "string",
            "description" : "Contains information about all the Properties that can be used in the dynamic sql preview."
          }
        },
        "description" : "Object wrapper for applicable properties"
      },
      "ms-IncrementalRefreshReport" : {
        "title" : "Incremental Refresh Report Definition",
        "description" : "Object that specifies an _Incremental Refresh Report defintion_.\nAn Incremental Refresh Report is a report to partially refresh an Intelligence Cube's data. Rather than completely updating the whole Intelligence Cube's data, you can use Incremental Refresh Report to partially refresh Intelligence Cube's data with different mode.\n\nThe incremental refresh report defintion describes how to refresh an Intelligence Cube's data.\n\nThe `targetCube` reference specifies the Intelligence Cube to be refreshed. \n\nThe `incrementType` and `refreshType` determines the mode to execute incremental refresh report and the way to update target Intelligence Cube data.\n\nThe template is only available for `report` type incremental refresh report. The template definition describes what you data you want to include into the incremental refresh report. You are able to add attributes, metrics, and so on, in rows, columns, or pageBys. The incremental refresh report template could be either standalone or embedded to the incremental refresh report. When the template is embedded, the `rows`, `columns`, and `pageBy` could be edited. When the incremental refresh report is using a standalone object. The `standaloneTemplate` contains the reference. If you want to see the defintion of the standalone template, you can call **GET** _/model/templates/{TemplateId}_. The `standaloneTemplate` is read-only and not editable. We encourage you to use embedded templates. As for now, you can only converting a standalone template to embedded by defining the `rows`, `columns`, and `pageBy`.\n\nBy defining a incremental refresh report filter, the incremental refresh report data will be filtered and the report data will be used to refresh Intelligence Cube's data with defined types.\n\nThe model doesn't contain the real data from the data warehouse.\n",
        "oneOf" : [ {
          "allOf" : [ {
            "title" : "Based on a normal cube"
          }, {
            "$ref" : "#/components/schemas/ms-IncrementalRefreshReportGeneral"
          }, {
            "type" : "object",
            "properties" : {
              "filter" : {
                "title" : "Incremental Refresh Report Filter",
                "oneOf" : [ {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-Expression"
                  }, {
                    "title" : "Embedded Filter"
                  } ]
                }, {
                  "title" : "Standalone Filter",
                  "type" : "object",
                  "properties" : {
                    "standaloneFilter" : {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }
                  }
                } ]
              }
            }
          } ]
        }, {
          "allOf" : [ {
            "title" : "Based on a FFSQL cube"
          }, {
            "$ref" : "#/components/schemas/ms-IncrementalRefreshReportGeneral"
          }, {
            "type" : "object",
            "properties" : {
              "table" : {
                "$ref" : "#/components/schemas/ms-XdaLogicalTable"
              }
            }
          } ]
        } ]
      },
      "ms-SystemHierarchy" : {
        "title" : "System Hierarchy",
        "type" : "object",
        "properties" : {
          "relationships" : {
            "type" : "array",
            "description" : "The list of attribute relationships stored in the system hierarchy",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeRelationship"
            }
          },
          "isolatedAttributes" : {
            "type" : "array",
            "description" : "The list of attributes that do not have any relationships currently",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "Object that specifies the _system hierarchy_.\n"
      },
      "ms-Attribute" : {
        "title" : "Attribute",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoBrowse"
          },
          "isTimezoneAware" : {
            "type" : "boolean",
            "description" : "Flag controlling whether this attribute is timezone aware. To enable this flag the attribute must contain a simple key form with\nthe dataType `timestamp`.\nSetting this flag to true will also trigger a check to ensure that the attribute contains only one form and no relationships.\nThe `removeInvalidFields` can be used to force remove all additional forms/relationships.\n"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeForm"
            }
          },
          "attributeLookupTable" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "keyForm" : {
            "$ref" : "#/components/schemas/ms-FormReference"
          },
          "displays" : {
            "$ref" : "#/components/schemas/ms-AttributeDisplays"
          },
          "sorts" : {
            "$ref" : "#/components/schemas/ms-AttributeSorts"
          },
          "drillMap" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "relationships" : {
            "$ref" : "#/components/schemas/ms-AttributeRelationships"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-AttributeAdvancedProperties"
          },
          "applySecurityFiltersToElementBrowsing" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether security filters should be applied to element browsing.\n"
          },
          "enableElementCaching" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether element caching is enabled for this attribute.\n"
          },
          "elementDisplayOption" : {
            "type" : "string",
            "description" : "A string field indicating the display option for attribute elements. It can be set to `all_elements`, `no_elements`, or `limited_elements`.\n",
            "enum" : [ "all_elements", "no_elements", "limited_elements" ]
          },
          "elementDisplayLimit" : {
            "type" : "integer",
            "description" : "An integer field indicating the maximum number of elements to display when browsing elements of this attribute.\n",
            "default" : 1000
          }
        },
        "description" : "The Attribute Object\n"
      },
      "ms-SmartAttribute" : {
        "title" : "SmartAttribute",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subtype" : {
            "type" : "string",
            "example" : "attribute_smart"
          },
          "name" : {
            "type" : "string",
            "example" : "Day (15 min interval)"
          },
          "definition" : {
            "type" : "object",
            "properties" : {
              "smartAttributeType" : {
                "type" : "string",
                "example" : "15_min_interval"
              },
              "ascending" : {
                "type" : "boolean",
                "example" : true
              }
            }
          }
        }
      },
      "ms-AttributeRelationships" : {
        "title" : "Attribute Relationships",
        "type" : "object",
        "properties" : {
          "relationships" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeRelationship"
            }
          }
        },
        "description" : "Object that specifies the list of relationships that one attribute has.\n"
      },
      "ms-Lock" : {
        "title" : "Schema Lock Status",
        "required" : [ "lockType" ],
        "properties" : {
          "lockType" : {
            "$ref" : "#/components/schemas/ms-EnumLockState"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The date/time at which this the lock was placed on the schema.",
            "format" : "date-time"
          },
          "comment" : {
            "type" : "string",
            "description" : "Optional comment provided by the user that applied the lock.\nIf used, this comment may help to justify why the schema was locked.\n"
          },
          "machineName" : {
            "type" : "string",
            "description" : "Name of the machine used by the user that applied the schema lock."
          },
          "ownerName" : {
            "type" : "string",
            "description" : "Name of the owner of the lock."
          },
          "ownerId" : {
            "type" : "string",
            "description" : "ID of the owner of the lock."
          }
        },
        "description" : "An object that contains all of the information about the lock status of a schema.\nIf the schema is not locked then none of the other fields should be provided.\n"
      },
      "ms-EnumLockType" : {
        "title" : "Lock Type",
        "type" : "string",
        "description" : "A type of lock that can be placed on the schema.\n* \"absolute_individual\": When placed, no one, including the administrator, can perform changes on the schema objects. The purpose of this lock is to prevent accidental modification to the schema in a project.\n* \"exclusive_constituent\": Not used by this API. When the changeset is created with \"schemaEdit\" = `true`, an \"exclusive_constituent\" lock is placed on schema. It is a lock exclusive to the changeset holding the lock; only that changeset can change the schema or its constituents (tables, attributes, etc.).\n* \"absolute_constituent: Not in use.\n",
        "enum" : [ "absolute_individual", "exclusive_constituent", "absolute_constituent" ]
      },
      "ms-EnumUpdateType" : {
        "title" : "Update Type",
        "type" : "string",
        "description" : "Type of update for the schema.",
        "enum" : [ "table_key", "entry_level", "logical_size", "clear_element_cache" ]
      },
      "ms-TaskInfo" : {
        "title" : "Task Information",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Task ID."
          },
          "task" : {
            "type" : "string",
            "description" : "Description of the task."
          },
          "status" : {
            "type" : "string",
            "description" : "Task status.",
            "enum" : [ "running", "completed", "failed" ]
          },
          "startTime" : {
            "type" : "string",
            "description" : "The date/time at which the task execution started.",
            "format" : "date-time"
          },
          "endTime" : {
            "type" : "string",
            "description" : "The date/time at which the task execution completed (or failed).",
            "format" : "date-time"
          },
          "errors" : {
            "type" : "array",
            "description" : "List of errors if the task execution failed.",
            "items" : {
              "$ref" : "#/components/schemas/ms-StructError"
            }
          }
        },
        "description" : "Detailed information about a task."
      },
      "ms-Fact" : {
        "required" : [ "dataType", "expressions", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "dataType" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-StructDataType"
            }, {
              "description" : "Specify the datatype that the engine should use to store a intermediate values for this fact.\n\nThe model service will select an initial value for this property as a side-effect of\nsetting a first fact expression on some table.  It will assume that values of the fact should\nbe represented using the datatype deduced for the expression on its initial table.\nThe client may override this selection if it is not the correct datatype to use.\n\nObserve that even if there is only one fact\nexpression (on multiple tables) it is possible that the expression has different data-types\non different tables.  So it is not possible for the model service to deduce an\nunambiguously correct datatype for a fact.\n"
            } ]
          },
          "expressions" : {
            "$ref" : "#/components/schemas/ms-ExpressionModules"
          },
          "entryLevel" : {
            "type" : "array",
            "description" : "This is the _natural_ level (in other words a set of attributes) of the fact.\n\nThis property is not set by the architects.  Instead it is deduced by the platform by examining the\nspecification of the fact, and considering the attributes and the relationships between them.\nBecause it can only be only be computed by considering the schema as a whole, the value is not\nautomatically updated each time the fact is modified.  It will be correct following a _schema\nupdate_ operation.\n",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "alias" : {
            "type" : "string",
            "description" : "the name alias for the fact when generate SQL"
          }
        },
        "description" : "An object giving all of the definition information for a Fact object.\n\nA fact object is a mapping from tuples of elements to a value.  It is stored in a data source.\nThe distinction between a _fact_ and a _metric_ is that the former is only available at those\nlevels for which an explicit computation is specified in the metadata.  In contrast metrics\ncan be aggregated (from fact data) to give values at other levels.\n\nNote that some of the information described here is actually stored in the metadata as part of\nother objects.\n"
      },
      "ms-GetTablesResponse" : {
        "title" : "Get tables Response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "tables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-GetTableResponse"
            }
          }
        },
        "description" : "Tables information returned from API when getting a list of tables from changeset."
      },
      "ms-LogicalTableInfoAddOneOf" : {
        "title" : "Logical Table Definition",
        "type" : "object",
        "description" : "table definition from metadata",
        "oneOf" : [ {
          "title" : "Normal Table / Warehouse Partition Mapping Table Definition",
          "type" : "object",
          "allOf" : [ {
            "$ref" : "#/components/schemas/ms-TableInfoWithBasic"
          }, {
            "required" : [ "physicalTable", "primaryDataSource" ],
            "type" : "object",
            "properties" : {
              "primaryDataSource" : {
                "$ref" : "#/components/schemas/ms-PrimaryDataSource"
              },
              "physicalTable" : {
                "$ref" : "#/components/schemas/ms-NormalPhysicalTable"
              }
            }
          } ]
        }, {
          "title" : "FFSQL Table Definition",
          "type" : "object",
          "allOf" : [ {
            "$ref" : "#/components/schemas/ms-TableInfoWithBasic"
          }, {
            "required" : [ "physicalTable", "primaryDataSource" ],
            "type" : "object",
            "properties" : {
              "primaryDataSource" : {
                "$ref" : "#/components/schemas/ms-PrimaryDataSource"
              },
              "physicalTable" : {
                "$ref" : "#/components/schemas/ms-FFSqlPhysicalTable"
              },
              "encloseSqlInParentheses" : {
                "$ref" : "#/components/schemas/ms-EncloseSqlInParentheses"
              }
            }
          } ]
        }, {
          "$ref" : "#/components/schemas/ms-MDPartitionMappingTableInfoAdd"
        } ]
      },
      "ms-GetTableResponse" : {
        "title" : "Get Table definition",
        "type" : "object",
        "description" : "Provide table information",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-TableDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "encloseSqlInParentheses" : {
              "$ref" : "#/components/schemas/ms-EncloseSqlInParentheses"
            },
            "physicalTable" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-PhysicalTable"
              }, {
                "type" : "object",
                "properties" : {
                  "tableName" : {
                    "type" : "string",
                    "description" : "table name in warehouse"
                  },
                  "namespace" : {
                    "type" : "string"
                  },
                  "tablePrefix" : {
                    "type" : "string",
                    "description" : "table prefix of this physical table"
                  }
                }
              }, {
                "type" : "object",
                "properties" : {
                  "sqlStatement" : {
                    "type" : "string",
                    "description" : "this field only applies to free form sql physical table."
                  }
                }
              }, {
                "type" : "object",
                "properties" : {
                  "sapHanaVariables" : {
                    "type" : "array",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-SapHanaVariable"
                    }
                  },
                  "sapHanaTableType" : {
                    "$ref" : "#/components/schemas/ms-EnumDSSExternalTableType"
                  }
                }
              } ]
            },
            "partitionTables" : {
              "oneOf" : [ {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/ms-PartitionTable"
                }
              }, {
                "type" : "array",
                "items" : {
                  "title" : "Partition Base Table of Warehouse Partitioning",
                  "type" : "object",
                  "properties" : {
                    "information" : {
                      "$ref" : "#/components/schemas/ms-ObjectInfoAll"
                    },
                    "logicalSize" : {
                      "$ref" : "#/components/schemas/ms-logicalSize"
                    },
                    "isPartOfPartition" : {
                      "$ref" : "#/components/schemas/ms-isPartOfPartition"
                    },
                    "isTrueKey" : {
                      "$ref" : "#/components/schemas/ms-isTrueKey"
                    },
                    "physicalTable" : {
                      "$ref" : "#/components/schemas/ms-NormalPhysicalTable"
                    }
                  }
                }
              } ]
            },
            "secondaryDataSources" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "MicroStrategy support mapping the table to more than one data source.\nThe first option is primary data source while the second option is second data source.\n"
              } ]
            },
            "sapHanaParameters" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-SapHanaParameter"
              }
            }
          }
        } ]
      },
      "ms-ObjectInfoReference" : {
        "title" : "Object Reference",
        "required" : [ "subType" ],
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "isEmbedded" : {
            "type" : "boolean",
            "description" : "If true indicates that the target object of this reference is embedded within this object.\nAlternatively if this object is itself embedded, then it means that the target object is\nembedded in the same container as this object.\n\nIf this field is omitted (as is usual) then the target is not embedded.\n"
          }
        },
        "description" : "Information about an object referenced within the specification of another object.\nAn object reference typically contains only enough fields to uniquely identify the referenced\nobjects.\n"
      },
      "ms-LogicalTableInfoPatchOneOf" : {
        "title" : "Logical Table Definition",
        "type" : "object",
        "description" : "table definition from metadata",
        "oneOf" : [ {
          "title" : "Normal Table / Warehouse Partition Mapping Table Definition",
          "type" : "object",
          "allOf" : [ {
            "$ref" : "#/components/schemas/ms-TableInfoWithBasic"
          }, {
            "required" : [ "physicalTable" ],
            "type" : "object",
            "properties" : {
              "primaryDataSource" : {
                "$ref" : "#/components/schemas/ms-PrimaryDataSource"
              },
              "physicalTable" : {
                "$ref" : "#/components/schemas/ms-NormalPhysicalTable"
              }
            }
          }, {
            "type" : "object",
            "properties" : {
              "sapHanaParameters" : {
                "type" : "array",
                "items" : {
                  "type" : "object",
                  "properties" : {
                    "name" : {
                      "type" : "string",
                      "description" : "SAP HANA parameter name that corresponds to SAP HANA variable."
                    },
                    "prompt" : {
                      "type" : "object",
                      "properties" : {
                        "objectId" : {
                          "type" : "string",
                          "description" : "The objectId of the target prompt to patch the original one. \nIf it is empty or null, the original prompt will be reset.\n"
                        }
                      },
                      "description" : "The prompt that the SAP HANA parameter attaches to."
                    }
                  },
                  "description" : "The SAP HANA parameter."
                }
              }
            }
          } ]
        }, {
          "title" : "FFSQL Table Definition",
          "type" : "object",
          "allOf" : [ {
            "$ref" : "#/components/schemas/ms-TableInfoWithBasic"
          }, {
            "required" : [ "physicalTable" ],
            "type" : "object",
            "properties" : {
              "primaryDataSource" : {
                "$ref" : "#/components/schemas/ms-PrimaryDataSource"
              },
              "physicalTable" : {
                "$ref" : "#/components/schemas/ms-FFSqlPhysicalTable"
              },
              "encloseSqlInParentheses" : {
                "$ref" : "#/components/schemas/ms-EncloseSqlInParentheses"
              }
            }
          } ]
        }, {
          "$ref" : "#/components/schemas/ms-MDPartitionMappingTableInfoPatch"
        } ]
      },
      "ms-LogicalTableInfoAdd" : {
        "title" : "Logical Table Definition",
        "required" : [ "physicalTable" ],
        "type" : "object",
        "description" : "table definition from metadata",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-TableInfoWithBasic"
        }, {
          "type" : "object",
          "properties" : {
            "primaryDataSource" : {
              "$ref" : "#/components/schemas/ms-PrimaryDataSource"
            },
            "encloseSqlInParentheses" : {
              "$ref" : "#/components/schemas/ms-EncloseSqlInParentheses"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "physicalTable" : {
              "$ref" : "#/components/schemas/ms-PhysicalTableInfoAdd"
            }
          }
        } ]
      },
      "ms-Prompt" : {
        "title" : "Prompt",
        "required" : [ "expressionType", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "title" : {
            "type" : "string",
            "description" : "Major string displayed to a user when requesting an answer for this prompt"
          },
          "instruction" : {
            "type" : "string",
            "description" : "Minor string displayed to a user when requesting an answer for this prompt"
          },
          "expressionType" : {
            "type" : "string",
            "description" : "only useful when prompt type is expression prompt"
          },
          "question" : {
            "$ref" : "#/components/schemas/ms-PromptQuestion"
          },
          "defaultAnswer" : {
            "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
          },
          "restriction" : {
            "$ref" : "#/components/schemas/ms-PromptRestriction"
          }
        },
        "description" : "Object that specifies a _prompt_.\nA prompt give user a chance to dynamicly select the data they want.\n"
      },
      "ms-Filter" : {
        "title" : "Filter",
        "required" : [ "information", "qualification" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "qualification" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "The filter definition written as an expression tree over predicate nodes.\n\nWe do not attempt to represent the entire filter using expression nodes.\nInstead we use _predicate_ nodes as leaves of the main tree expression.\nMost predicate nodes use a simple data structure.\nThese simple predicates correspond to the most common qualifications that are used in filters.\nWe also have a custom predicate which uses parse tokens to represent predicates that\nwe support but which cannot be described using the usual pattern.\n\nIt is valid for a filter expression to contain no nodes.  This is known as an _empty _filter_.\nAn empty filter implies that no restriction is made when applying the filter to a dataset.\nA better name might have been a _universal filter_.\n"
            } ]
          }
        },
        "description" : "Object that specifies a _filter_.\nA filter specifies a restriction that might be applied to a dataset when it is used in a computation.\n\nA filter takes the form of an expression tree over data structures known as _predicates_.\nEach predicate represents a single restriction on the available data.\nThe filter expression tree combines predicates together using logical operators.\n"
      },
      "ms-CustomGroup" : {
        "title" : "Custom Group",
        "required" : [ "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "drill_map" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "options" : {
            "$ref" : "#/components/schemas/ms-CustomGroupOptions"
          },
          "elements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-CustomGroupElement"
            }
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
          }
        },
        "description" : "Object that specifies a _custom group_.\n\nA custom group is a set of special filters that can be placed on a template, \nit is made up of an ordered collection of elements called custom group elements.\n\nA custom group element's qualification takes the form of an expression tree over data structures known as _predicates_.\nEach predicate represents a single restriction on the available data.\nThe custom group element expression tree combines predicates together using logical operators.\n"
      },
      "ms-DrillMap" : {
        "title" : "Drill Map",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "drillPaths" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-DrillPath"
            }
          }
        },
        "description" : "Object that specifies a _drill map_\n\nDrill map is a list of customized drill paths that used to override the default drilling behavior.\nA drill map can be assocaited with attributes, consolidations, custom groups, templates, and report units.\n"
      },
      "ms-SecurityFilter" : {
        "title" : "Security Filter",
        "description" : "Object that specifies a _security filter_.\nA security filter can be assigned to a user or group to narrow the result set when they execute reports or browse elements.\n\nA security filter takes the form of an expression tree over data structures known as _predicates_.\nEach predicate represents a single restriction on the available data.\nThe security filter expression tree combines predicates together using logical operators.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "required" : [ "information", "qualification" ],
          "type" : "object",
          "properties" : {
            "qualification" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              }, {
                "description" : "The security filter definition written as an expression tree over predicate nodes.\n\nWe do not attempt to represent the entire security filter using expression nodes.\nInstead we use _predicate_ nodes as leaves of the main tree expression.\n\nMost predicate nodes use a simple data structure.\nSecurity Filter support five types of predicates, including PredicateCustomExpression,PredicateJointElementList,\nPredicateElementList, PredicateForm, PredicateFilter.\nThese simple predicates correspond to the most common qualifications that are used in security filters.\n\nIt is invalid for a security filter expression to contain no nodes.\n"
              } ]
            },
            "topLevel" : {
              "type" : "array",
              "description" : "The top level attribute list. Top and bottom range attributes place aggregation ceilings and floors on metrics used on a report.\nIf neither a top nor a bottom range attribute is specified, the security filter is applied to every level of analysis.\n",
              "example" : [ {
                "objectId" : "a34260abd342760ab34260bd34f260ad",
                "subType" : "attribute",
                "name" : "City"
              } ],
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            },
            "bottomLevel" : {
              "type" : "array",
              "description" : "The bottom level attribute list. Top and bottom range attributes place aggregation ceilings and floors on metrics used on a report.\nIf neither a top nor a bottom range attribute is specified, the security filter is applied to every level of analysis.\n",
              "example" : [ {
                "objectId" : "a34260abd342760ab34260bd34f260ad",
                "subType" : "attribute",
                "name" : "City"
              } ],
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-DerivedElementRequestBody" : {
        "title" : "Request body for POST/PUT a derived element",
        "required" : [ "attribute", "elements", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "required" : [ "destinationFolderId", "name" ],
              "description" : "An object that contains all of the type-neutral information stored about an object. For POST, The **name** and **destinationFolderId** fields are required. For PUT, the **name** field is required."
            } ]
          },
          "attribute" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "required" : [ "objectId" ],
              "description" : "Information about an object referenced within the specification of another object. An object reference typically contains only enough fields to uniquely identify the referenced objects. The **objectId** field is required."
            } ]
          },
          "elements" : {
            "$ref" : "#/components/schemas/ms-Elements"
          }
        },
        "description" : "Request body for POST/PUT a derived element",
        "example" : {
          "information" : {
            "name" : "grouped derived element",
            "destinationFolderId" : "98FE182C2A10427EACE0CD30B6768258"
          },
          "attribute" : {
            "objectId" : "5603951E4FE1BC04A44E44B85BBB8ED2"
          },
          "elements" : [ {
            "name" : "Age under 34",
            "type" : "list",
            "elements" : [ {
              "display" : "Under 24",
              "elementId" : "h1"
            }, {
              "display" : "25 to 34",
              "elementId" : "h2"
            } ]
          }, {
            "name" : "All Other",
            "type" : "all_other"
          } ]
        }
      },
      "ms-DerivedElementDefinition" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "attribute" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "elements" : {
            "$ref" : "#/components/schemas/ms-Elements"
          }
        },
        "description" : "The definition of a derived element"
      },
      "ms-ProjectDefinition" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
          }
        },
        "description" : "The definition of a project"
      },
      "ms-ProjectRequestBody" : {
        "title" : "Request body for PUT Project",
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "required" : [ "name" ],
              "description" : "An object that contains all of the type-neutral information stored about an object."
            } ]
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
          }
        },
        "description" : "Request body for PUT Project"
      },
      "ms-DatasourceRequestBody" : {
        "title" : "Request body for PUT Datasource",
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "required" : [ "name" ],
              "description" : "An object that contains all of the type-neutral information stored about an object."
            } ]
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
          }
        },
        "description" : "Request body for PUT Datasource"
      },
      "ms-DatasourceDefinition" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
          }
        },
        "description" : "The definition of a datasource"
      },
      "ms-ConsolidationRequestBody" : {
        "title" : "Request body for POST/PUT a consolidation",
        "required" : [ "elements", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "required" : [ "destinationFolderId", "name" ],
              "description" : "An object that contains all of the type-neutral information stored about an object. For POST, The **name** and **destinationFolderId** fields are required. For PUT, the **name** field is required."
            } ]
          },
          "drillMap" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "required" : [ "objectId" ],
              "description" : "Information about an object referenced within the specification of another object. An object reference typically contains only enough fields to uniquely identify the referenced objects. The **objectId** field is required."
            } ]
          },
          "elements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ConsolidationElement"
            }
          },
          "subtotal" : {
            "type" : "string",
            "enum" : [ "disable", "enable" ]
          }
        },
        "description" : "Request body for POST/PUT a consolidation",
        "example" : {
          "information" : {
            "name" : "New Consolidation2",
            "destinationFolderId" : "5C6A68174DC3E55B31C80EB653259E0E",
            "subType" : "consolidation"
          },
          "drillMap" : {
            "objectId" : "431367544A6C1EC401599989093E375C"
          },
          "elements" : [ {
            "name" : "element1",
            "type" : "calculation",
            "expression" : {
              "tree" : {
                "type" : "constant",
                "variant" : {
                  "type" : "double",
                  "value" : 1
                }
              }
            }
          } ],
          "subtotal" : "enable"
        }
      },
      "ms-ConsolidationDefinition" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "drillMap" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "elements" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ConsolidationElement"
            }
          },
          "subTotal" : {
            "type" : "string",
            "enum" : [ "disable", "enable" ]
          }
        },
        "description" : "The definition of a consolidation"
      },
      "ms-GetHierarchiesResponse" : {
        "title" : "Get hierarchies Response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "hierarchies" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "User hierarchies information returned from API when getting a list of user hierarchies from changeset."
      },
      "ms-UserHierarchy" : {
        "title" : "User Hierarchy",
        "required" : [ "attributes", "information", "useAsDrillHierarchy" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "useAsDrillHierarchy" : {
            "type" : "boolean",
            "description" : "whether this user hierarchy is used as drill hierarchy",
            "default" : true
          },
          "attributes" : {
            "type" : "array",
            "description" : "The list of attributes that do have any relationships currently",
            "items" : {
              "$ref" : "#/components/schemas/ms-HierarchyAttribute"
            }
          },
          "relationships" : {
            "type" : "array",
            "description" : "The list of attribute relationships stored in the system hierarchy",
            "items" : {
              "$ref" : "#/components/schemas/ms-HierarchyRelationship"
            }
          }
        },
        "description" : "Object that specifies the _user hierarchy_.\n"
      },
      "ms-Metric" : {
        "title" : "Metric",
        "description" : "Object that specifies the _metric_.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "required" : [ "expression", "information" ],
          "type" : "object",
          "properties" : {
            "expression" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              }, {
                "description" : "The expression for the metric.\n"
              } ]
            },
            "dimty" : {
              "$ref" : "#/components/schemas/ms-Dimty"
            },
            "conditionality" : {
              "$ref" : "#/components/schemas/ms-Conditionality"
            },
            "metricSubtotals" : {
              "type" : "array",
              "description" : "The list of subtotal defined for the metric",
              "items" : {
                "$ref" : "#/components/schemas/ms-MetricSubtotal"
              }
            },
            "aggregateFromBase" : {
              "type" : "boolean",
              "description" : "whether the metric is aggregated from base",
              "default" : false
            },
            "formulaJoinType" : {
              "type" : "string",
              "enum" : [ "default", "inner", "outer" ]
            },
            "smartTotal" : {
              "type" : "string",
              "enum" : [ "decomposable_false", "decomposable_true" ]
            },
            "dataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "format" : {
              "$ref" : "#/components/schemas/ms-format"
            },
            "subtotalFromBase" : {
              "type" : "boolean",
              "description" : "whether the metric is subtotal from base",
              "default" : false
            },
            "columnNameAlias" : {
              "type" : "string",
              "description" : "the name alias for the metric when generate SQL"
            },
            "metricFormatType" : {
              "type" : "string",
              "enum" : [ "reserved", "html_tag", "last_one" ]
            },
            "thresholds" : {
              "type" : "array",
              "description" : "The list of threshold defined for the metric",
              "items" : {
                "$ref" : "#/components/schemas/ms-Threshold"
              }
            },
            "advancedProperties" : {
              "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
            }
          },
          "example" : {
            "information" : {
              "name" : "New Metric",
              "destinationFolderId" : "5C6A68174DC3E55B31C80EB653259E0E",
              "subType" : "metric"
            },
            "expression" : {
              "tokens" : [ {
                "value" : "&Sum(Cost){~+}"
              } ]
            },
            "dimty" : {
              "dimtyUnits" : [ {
                "dimtyUnitType" : "report_base_level",
                "aggregation" : "normal",
                "filtering" : "apply",
                "groupBy" : true
              } ]
            },
            "conditionality" : {
              "filter" : {
                "objectId" : "E638359211D5C49EC0000C881FDA1A4F"
              },
              "embedMethod" : "metric_into_report_filter",
              "removeElements" : true
            },
            "metricSubtotals" : [ {
              "definition" : {
                "objectId" : "96C487AF4D12472A910C1ACACFB56EFB"
              }
            } ],
            "aggregateFromBase" : false,
            "formulaJoinType" : "inner",
            "smartTotal" : "decomposable_false",
            "dataType" : {
              "type" : "integer",
              "precision" : 10
            },
            "format" : {
              "header" : [ {
                "type" : "number_decimal_places",
                "value" : 0
              } ],
              "values" : [ {
                "type" : "number_category",
                "value" : 0
              } ]
            },
            "subtotalFromBase" : false,
            "columnNameAlias" : "metric1",
            "metricFormatType" : "html_tag",
            "thresholds" : [ {
              "condition" : {
                "tokens" : [ {
                  "value" : "%Year@ID > 0"
                } ]
              },
              "format" : [ {
                "type" : "number_decimal_places",
                "value" : 0
              } ]
            } ],
            "advancedProperties" : {
              "vldbProperties" : {
                "[AnalyticalEngineProperties].[NullCheckingForAnalyticalEngine]" : {
                  "name" : "NullCheckingForAnalyticalEngine",
                  "type" : "int32",
                  "value" : 2,
                  "resolvedLocation" : "default",
                  "isInherited" : true
                }
              }
            }
          }
        } ]
      },
      "ms-Subtotal" : {
        "title" : "Subtotal",
        "required" : [ "expression", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "expression" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "The expression for the metric.\n"
            } ]
          },
          "dimty" : {
            "$ref" : "#/components/schemas/ms-Dimty"
          }
        },
        "description" : "Object that specifies the subtotal.\n",
        "example" : {
          "information" : {
            "name" : "New Subtotal",
            "destinationFolderId" : "8116BCCF42FA9CB0EFD5FEAF212F02A5",
            "subType" : "metric_subtotal"
          },
          "expression" : {
            "tokens" : [ {
              "value" : "&Sum(x){~+}"
            } ]
          },
          "dimty" : {
            "dimtyUnits" : [ {
              "dimtyUnitType" : "attribute",
              "target" : {
                "objectId" : "E1853D5A36C74F59A9F8DEFB3F9527A1"
              }
            } ]
          }
        }
      },
      "ms-BaseFormula" : {
        "title" : "Base Formula",
        "required" : [ "expression", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "expression" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "The expression for the metric.\n"
            } ]
          }
        },
        "description" : "Object that specifies the base formula.\n",
        "example" : {
          "information" : {
            "name" : "New Base Formula",
            "destinationFolderId" : "8116BCCF42FA9CB0EFD5FEAF212F02A5",
            "subType" : "agg_metric"
          },
          "expression" : {
            "tokens" : [ {
              "value" : "~Sum(Cost)"
            } ]
          }
        }
      },
      "ms-Transformation" : {
        "title" : "Transformation",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransformationAttribute"
            }
          },
          "mappingType" : {
            "$ref" : "#/components/schemas/ms-MappingType"
          }
        },
        "description" : "Object that specifies the transformation.\n"
      },
      "ms-TimezoneRequestBody" : {
        "title" : "Request body for POST a timezone",
        "required" : [ "baseTimezone" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "description" : "An object that contains all of the type-neutral information stored about an object."
            } ]
          },
          "baseTimezone" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "required" : [ "objectId" ],
              "description" : "Information about an object referenced within the specification of another object. An object reference typically contains only enough fields to uniquely identify the referenced objects. The **objectId** field is required."
            } ]
          },
          "currentOffset" : {
            "type" : "integer",
            "description" : "The offset in seconds. This is read-only field that is same as base timezone."
          }
        },
        "description" : "Request body for POST a timezone",
        "example" : {
          "information" : {
            "name" : "new timezone"
          },
          "baseTimezone" : {
            "objectId" : "1D18D39B4594CFAF60A6C1B2F48164E8"
          }
        }
      },
      "ms-GetTimezoneResponse" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "baseTimezone" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "currentOffset" : {
            "type" : "integer",
            "description" : "The offset in seconds."
          }
        },
        "description" : "The definition of a timezone object."
      },
      "ms-GetTimezonesResponse" : {
        "title" : "Get Timezones Response",
        "type" : "object",
        "properties" : {
          "timezones" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-GetTimezoneResponse"
            }
          }
        },
        "description" : "A list of timezone objects' definitions returned from API."
      },
      "ms-TimezoneUpdateRequestBody" : {
        "title" : "Request body for PATCH a timezone",
        "type" : "object",
        "properties" : {
          "information" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "description" : "An object that contains all of the type-neutral information stored about an object. Only **name** and **description** can be updated."
            } ]
          },
          "baseTimezone" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "required" : [ "objectId" ],
              "description" : "Information about an object referenced within the specification of another object. An object reference typically contains only enough fields to uniquely identify the referenced objects. The **objectId** field is required."
            } ]
          }
        },
        "description" : "Request body for PATCH a timezone",
        "example" : {
          "information" : {
            "name" : "new timezone",
            "description" : "this is my new time zone."
          },
          "baseTimezone" : {
            "objectId" : "1D18D39B4594CFAF60A6C1B2F48164E8"
          }
        }
      },
      "ms-Calendar" : {
        "title" : "calendar",
        "required" : [ "baseCalendar", "calendarBegin", "calendarEnd", "information", "tablePrefix", "weekStartDay" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "baseCalendar" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "tablePrefix" : {
            "type" : "string",
            "description" : "Table Prefix is used to create tables in WareHouse for each calendar.\n"
          },
          "calendarBegin" : {
            "$ref" : "#/components/schemas/ms-CalendarYear"
          },
          "calendarEnd" : {
            "$ref" : "#/components/schemas/ms-CalendarYear"
          },
          "weekStartDay" : {
            "$ref" : "#/components/schemas/ms-EnumWeekStartDay"
          }
        },
        "description" : "Object that specifies the _calendar_.\n",
        "example" : {
          "information" : {
            "name" : "new calendar",
            "objectId" : "0B4AC9E54E016BF00EAA99929C2B4E5C",
            "subType" : "calendar_custom"
          },
          "baseCalendar" : {
            "objectId" : "1414DF67F20B4E4F910E418C8DCE7274",
            "subType" : "calendar_system"
          },
          "tablePrefix" : "MSTR_",
          "calendarBegin" : {
            "staticYear" : "2022"
          },
          "calendarEnd" : {
            "dynamicYearOffset" : 5
          },
          "weekStartDay" : "Sunday"
        }
      },
      "ms-GetCalendarsResponse" : {
        "title" : "Get calendars Response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "calendars" : {
            "type" : "array",
            "example" : {
              "information" : {
                "name" : "new calendar"
              },
              "baseCalendar" : {
                "objectId" : "1414DF67F20B4E4F910E418C8DCE7274"
              }
            },
            "items" : {
              "$ref" : "#/components/schemas/ms-Calendar"
            }
          }
        },
        "description" : "calendars information returned from API when getting a list of calendars from changeset."
      },
      "ms-ReportForPOST" : {
        "title" : "Report Definition",
        "required" : [ "sourceType" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "sourceType" : {
            "type" : "string",
            "enum" : [ "normal", "custom_sql_free_form", "cube" ]
          },
          "dataSource" : {
            "$ref" : "#/components/schemas/ms-DataSourceForPOST"
          },
          "grid" : {
            "$ref" : "#/components/schemas/ms-Grid"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-ReportAdvancedProperties"
          },
          "timezone" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Report's definition for POST report API.\n"
      },
      "ms-Report" : {
        "title" : "Report Definition",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "sourceType" : {
            "type" : "string",
            "enum" : [ "normal", "custom_sql_free_form", "cube" ]
          },
          "dataSource" : {
            "$ref" : "#/components/schemas/ms-DataSource"
          },
          "grid" : {
            "$ref" : "#/components/schemas/ms-Grid"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-ReportAdvancedProperties"
          },
          "timezone" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "The Report Object."
      },
      "ms-SaveRequestForReport" : {
        "title" : "Save request for report API",
        "type" : "object",
        "properties" : {
          "promptOptions" : {
            "$ref" : "#/components/schemas/ms-ReportPromptSaveOptions"
          }
        },
        "description" : "Save report request body that includes prompt options.\n"
      },
      "ms-SaveResponseForReport" : {
        "title" : "Save response for report API",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        },
        "description" : "Save report response body.\n"
      },
      "ms-SaveAsRequestForReport" : {
        "title" : "SaveAs request for report API",
        "type" : "object",
        "properties" : {
          "overwrite" : {
            "title" : "overwrite",
            "type" : "boolean",
            "description" : "Use this flag to overwrite an existing report through an in-memory instance. \n"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "destinationFolderId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "promptOptions" : {
            "$ref" : "#/components/schemas/ms-ReportPromptSaveOptions"
          }
        },
        "description" : "Save report request body that includes options.\n"
      },
      "ms-Datamart" : {
        "title" : "Datamart Definition",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "sourceType" : {
            "type" : "string",
            "enum" : [ "normal", "custom_sql_free_form" ]
          },
          "dataSource" : {
            "$ref" : "#/components/schemas/ms-DataSourceForDatamart"
          },
          "datamartOptions" : {
            "$ref" : "#/components/schemas/ms-DatamartOptions"
          },
          "timezone" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-DatamartAdvancedProperties"
          }
        },
        "description" : "Object that specifies an _Datamart defintion_.\nA datamart is an object to insert its data as a source table in warehouse. After that, user is able to use this table as normal table and execute reports against it.\nThe \"targetSource\" reference specifies the warehouse where the data will be inserted into.\n"
      },
      "ms-SaveRequestForDatamart" : {
        "title" : "Save request for datamart API",
        "type" : "object",
        "properties" : {
          "promptOptions" : {
            "$ref" : "#/components/schemas/ms-ReportPromptSaveOptions"
          }
        },
        "description" : "Save datamart request body that includes prompt options.\n"
      },
      "ms-SaveResponseForDatamart" : {
        "title" : "Save response for datamart API",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        },
        "description" : "Save datamart response body.\n"
      },
      "ms-SaveAsRequestForDatamart" : {
        "title" : "SaveAs request for datamart API",
        "type" : "object",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "destinationFolderId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "promptOptions" : {
            "$ref" : "#/components/schemas/ms-ReportPromptSaveOptions"
          }
        },
        "description" : "Save datamart request body that includes options.\n"
      },
      "ms-TransactionReport" : {
        "title" : "Transaction Report Definition",
        "required" : [ "information", "table" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "table" : {
            "$ref" : "#/components/schemas/ms-TransactionReportLogicalTable"
          }
        },
        "description" : "The Transaction Report Object."
      },
      "ms-DataModel" : {
        "title" : "Data Model",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "type" : "object",
          "properties" : {
            "dataServeMode" : {
              "type" : "string",
              "enum" : [ "in_memory", "connect_live", "off_memory" ]
            },
            "schemaFolderId" : {
              "type" : "string",
              "description" : "The schema folder ID where data model objects are stored.\n"
            },
            "enableWrangleRecommendations" : {
              "type" : "boolean",
              "description" : "Whether to enable wrangle recommendations for the data model.\n"
            },
            "enableAutoHierarchyRelationships" : {
              "type" : "boolean",
              "description" : "Whether to enable automatic hierarchy relationships for the data model.\n"
            },
            "sampling" : {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "description" : "The sampling method to use for the data model.\n",
                  "enum" : [ "random", "first" ]
                },
                "rowCount" : {
                  "type" : "integer",
                  "description" : "The size of the sample to draw from the datasource.\n"
                }
              }
            },
            "partition" : {
              "type" : "object",
              "properties" : {
                "mode" : {
                  "type" : "string",
                  "description" : "The partition type for the data model.\n",
                  "enum" : [ "none", "automatic", "manual" ]
                },
                "number" : {
                  "type" : "integer",
                  "description" : "The number of partitions for the data model.\n"
                }
              }
            },
            "autoJoin" : {
              "type" : "boolean",
              "description" : "When data is pulled from multiple tables, these tables are initially joined based on user-defined relationships. If no such relationships exist, the system automatically joins tables using common attributes to maintain flexibility. If this automatic feature is turned off, only user-defined relationships are used, offering precise control for advanced Mosaic modeling.\n"
            },
            "readOnly" : {
              "type" : "boolean",
              "description" : "Whether the dataset is read-only."
            },
            "executiveSummary" : {
              "type" : "string",
              "description" : "The executive summary of the dataset."
            },
            "sentinelAlertExclusionGroups" : {
              "type" : "string",
              "description" : "The sentinel alert exclusion groups."
            }
          }
        } ]
      },
      "ms-DataModelFolder" : {
        "title" : "Data Model Folder",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "contents" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoBrowse"
            }
          }
        }
      },
      "ms-DataModelFolderUpdateBody" : {
        "title" : "Data Model Folder Update Body",
        "type" : "object",
        "properties" : {
          "information" : {
            "type" : "object",
            "properties" : {
              "name" : {
                "type" : "string",
                "description" : "The name of the folder."
              },
              "destinationFolderId" : {
                "type" : "string",
                "description" : "The ID of the destination folder."
              }
            }
          }
        }
      },
      "ms-GetDataModelTablesResponse" : {
        "title" : "Get data model tables Response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "tables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelTable"
            }
          }
        },
        "description" : "Tables information returned from API when getting a list of tables from changeset."
      },
      "ms-DataModelTableAdd" : {
        "title" : "data model table fields",
        "type" : "object",
        "description" : "data model table specific fields",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DataModelTable"
        }, {
          "required" : [ "physicalTable" ]
        } ]
      },
      "ms-DataModelTable" : {
        "title" : "data model table fields",
        "type" : "object",
        "description" : "data model table specific fields",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "type" : "object",
          "properties" : {
            "physicalTable" : {
              "$ref" : "#/components/schemas/ms-DataModelPhysicalTable"
            },
            "attributes" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-AttributeInfo"
              }
            },
            "factMetrics" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-FactInfo"
              }
            },
            "unmappedColumns" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            },
            "refreshPolicy" : {
              "$ref" : "#/components/schemas/ms-DataModelTableRefreshPolicy"
            }
          }
        } ]
      },
      "ms-GetDataModelMetricsResponse" : {
        "title" : "Get data model metrics response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "metrics" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AdvancedMetric"
            }
          }
        },
        "description" : "Data model's metrics definition returned from API when getting a list of metrics in the data model."
      },
      "ms-AdvancedMetric" : {
        "title" : "Advanced Metric",
        "type" : "object",
        "description" : "Object that specifies the _advanced metric_.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-Metric"
        }, {
          "type" : "object",
          "properties" : {
            "embeddedObjects" : {
              "$ref" : "#/components/schemas/ms-DataModelEmbeddedObjects"
            }
          }
        } ]
      },
      "ms-DataModelEmbeddedObject" : {
        "title" : "Data Model Embedded Object",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of the embedded object."
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "dimty" : {
            "$ref" : "#/components/schemas/ms-Dimty"
          },
          "conditionality" : {
            "$ref" : "#/components/schemas/ms-Conditionality"
          },
          "qualification" : {
            "$ref" : "#/components/schemas/ms-Expression"
          }
        }
      },
      "ms-DataModelObjectAclResponse" : {
        "title" : "Data Model Object Access Control List",
        "type" : "object",
        "properties" : {
          "acl" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-DataModelObjectAce"
            },
            "example" : {
              "7FD5B69611D5AC76C000D98A4CC5F24F" : {
                "granted" : 255,
                "denied" : 0,
                "name" : "Admin",
                "subType" : "user"
              },
              "6E069E4C11D3E4E41000E887EC6DE8A4" : {
                "granted" : 0,
                "denied" : 255,
                "name" : "Everyone",
                "subType" : "user_group"
              }
            }
          }
        }
      },
      "ms-DataModelObjectAcl" : {
        "title" : "Data Model Object Access Control List",
        "type" : "object",
        "properties" : {
          "acl" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-DataModelObjectAce"
            },
            "example" : {
              "7FD5B69611D5AC76C000D98A4CC5F24F" : {
                "granted" : 255,
                "denied" : 0,
                "name" : "Admin",
                "subType" : "user"
              },
              "6E069E4C11D3E4E41000E887EC6DE8A4" : {
                "granted" : 0,
                "denied" : 255,
                "name" : "Everyone",
                "subType" : "user_group"
              }
            }
          },
          "propagateAclToChildren" : {
            "type" : "boolean"
          },
          "propagationBehavior" : {
            "type" : "string",
            "description" : "The behavior when propagate parent folder acl to children",
            "enum" : [ "precise_recursive", "overwrite_recursive" ]
          }
        }
      },
      "ms-DataModelObjectTranslationResponse" : {
        "title" : "Data Model Object Translations",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of current object."
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "description" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "forms" : {
            "$ref" : "#/components/schemas/ms-FormsTranslations"
          }
        }
      },
      "ms-DataModelObjectTranslation" : {
        "title" : "Data Model Object Translations",
        "type" : "object",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "description" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "forms" : {
            "$ref" : "#/components/schemas/ms-FormsTranslations"
          }
        }
      },
      "ms-GetDataModelSecurityFiltersResponse" : {
        "title" : "Get data model security filters response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "securityFilters" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-SecurityFilter"
            }
          }
        },
        "description" : "Data model's security filters definition returned from API when getting a list of security filters in the data model from changeset."
      },
      "ms-DataModelHierarchy" : {
        "title" : "Data Model Hierarchy",
        "type" : "object",
        "properties" : {
          "relationships" : {
            "type" : "array",
            "description" : "The list of attribute relationships stored in the data model hierarchy",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeRelationship"
            }
          },
          "isolatedAttributes" : {
            "type" : "array",
            "description" : "The list of attributes that do not have any relationships currently",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "Object that specifies the _data model hierarchy_.\n"
      },
      "ms-GetDataModelAttributesResponse" : {
        "title" : "Get data model attributes response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelAttribute"
            }
          }
        },
        "description" : "Data model's attribute definition returned from API when getting a list of attributes in the data model from changeset."
      },
      "ms-DataModelAttribute" : {
        "title" : "Data Model Attribute",
        "description" : "Object that specifies an _attribute_ in data model.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "type" : "object",
          "properties" : {
            "isTimezoneAware" : {
              "type" : "boolean",
              "description" : "Flag controlling whether this attribute is timezone aware. To enable this flag the attribute must contain a simple key form with\nthe dataType `timestamp`.\nSetting this flag to true will also trigger a check to ensure that the attribute contains only one form and no relationships.\nThe `removeInvalidFields` can be used to force remove all additional forms/relationships.\n"
            },
            "forms" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-DataModelAttributeForm"
              }
            },
            "attributeLookupTable" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "keyForm" : {
              "$ref" : "#/components/schemas/ms-FormReference"
            },
            "displays" : {
              "$ref" : "#/components/schemas/ms-AttributeDisplays"
            },
            "sorts" : {
              "$ref" : "#/components/schemas/ms-AttributeSorts"
            },
            "drillMap" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "relationships" : {
              "$ref" : "#/components/schemas/ms-AttributeRelationships"
            },
            "advancedProperties" : {
              "$ref" : "#/components/schemas/ms-AttributeAdvancedProperties"
            },
            "autoDetectLookupTable" : {
              "type" : "boolean",
              "description" : "Flag controlling whether the system should automatically detect and assign lookup tables to forms within this attribute.\n"
            },
            "smartAttributes" : {
              "type" : "array",
              "description" : "A list of smart attributes associated with this attribute.\n",
              "items" : {
                "$ref" : "#/components/schemas/ms-SmartAttribute"
              }
            },
            "sensitiveLevel" : {
              "type" : "string",
              "description" : "The sensitive level of the attribute",
              "enum" : [ "none", "medium", "high" ]
            }
          }
        } ]
      },
      "ms-GetDataModelFactMetricsResponse" : {
        "title" : "Get data model fact metrics response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "factMetrics" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-FactMetric"
            }
          }
        },
        "description" : "Data model's fact metric definition returned from API when getting a list of fact metrics in the data model from changeset."
      },
      "ms-FactMetric" : {
        "title" : "Fact Metric",
        "description" : "Object that specifies a _fact metric_.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBase"
        }, {
          "type" : "object",
          "properties" : {
            "fact" : {
              "$ref" : "#/components/schemas/ms-ManagedFact"
            },
            "function" : {
              "type" : "string"
            },
            "functionProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-FunctionProperty"
              }
            },
            "sortBy" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-SortByObject"
              }
            },
            "dimty" : {
              "$ref" : "#/components/schemas/ms-Dimty"
            },
            "conditionality" : {
              "$ref" : "#/components/schemas/ms-Conditionality"
            },
            "metricSubtotals" : {
              "type" : "array",
              "description" : "The list of subtotal defined for the metric",
              "items" : {
                "$ref" : "#/components/schemas/ms-MetricSubtotal"
              }
            },
            "aggregateFromBase" : {
              "type" : "boolean",
              "description" : "whether the metric is aggregated from base",
              "default" : false
            },
            "formulaJoinType" : {
              "type" : "string",
              "enum" : [ "default", "inner", "outer" ]
            },
            "smartTotal" : {
              "type" : "string",
              "enum" : [ "decomposable_false", "decomposable_true" ]
            },
            "dataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "format" : {
              "$ref" : "#/components/schemas/ms-format"
            },
            "subtotalFromBase" : {
              "type" : "boolean",
              "description" : "whether the metric is subtotal from base",
              "default" : false
            },
            "columnNameAlias" : {
              "type" : "string",
              "description" : "the name alias for the metric when generate SQL"
            },
            "metricFormatType" : {
              "type" : "string",
              "enum" : [ "reserved", "html_tag", "last_one" ]
            },
            "thresholds" : {
              "type" : "array",
              "description" : "The list of threshold defined for the metric",
              "items" : {
                "$ref" : "#/components/schemas/ms-Threshold"
              }
            },
            "advancedProperties" : {
              "$ref" : "#/components/schemas/ms-NonReportObjectAdvancedProperties"
            }
          }
        } ]
      },
      "ms-GetDataModelLinksResponse" : {
        "title" : "Get data model links response",
        "type" : "object",
        "properties" : {
          "offset" : {
            "type" : "integer"
          },
          "limit" : {
            "type" : "integer"
          },
          "total" : {
            "type" : "integer"
          },
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelLink"
            }
          }
        },
        "description" : "Data model's link definition returned from API when getting a list of links in the data model from changeset."
      },
      "ms-DataModelLink" : {
        "title" : "DataModelLink",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "targets" : {
            "type" : "array",
            "description" : "A list of link units",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelLinkUnit"
            }
          },
          "sourceObjectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "alias" : {
            "type" : "string"
          },
          "linkedAttribute" : {
            "description" : "The Attribute which contains source attribute's forms and other target attributes' non-key single forms.\n",
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Attribute"
            } ]
          }
        },
        "description" : "The data model link definition.\n"
      },
      "ms-DataModelLinks" : {
        "type" : "object",
        "properties" : {
          "links" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelLink"
            }
          }
        }
      },
      "ms-ExternalDataModels" : {
        "type" : "object",
        "properties" : {
          "externalDataModels" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ExternalDataModel"
            }
          }
        }
      },
      "ms-ExternalDataModel" : {
        "title" : "ExternalDataModel",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "baseDataModel" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "alias" : {
            "type" : "string"
          },
          "objects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ExternalDataModelUnit"
            }
          }
        },
        "description" : "The external data model definition.\n"
      },
      "ms-ExternalDataModelUnit" : {
        "title" : "ExternalDataModelUnit",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "hidden" : {
            "type" : "boolean",
            "default" : false
          },
          "alias" : {
            "type" : "string"
          },
          "target" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "targetModel" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "The external data model unit definition.\n"
      },
      "ms-RefreshExternalDataModelsResponse" : {
        "title" : "Refresh external data models response",
        "type" : "object",
        "properties" : {
          "externalDataModels" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ExternalDataModelChange"
            }
          },
          "invalidLinks" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-InvalidLink"
            }
          },
          "invalidObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-InvalidObjectWithMessage"
            }
          }
        },
        "description" : "The response includes three parts:\n  * \"externalDataModels\": the collection of external data models, which contains each external data model's changes.\n  * \"invalidLinks\": the collection of invalid links.\n  * \"invalidObjects\": the collection of invalid objects.\n"
      },
      "ms-YamlModel" : {
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "string",
            "description" : "The version of the YAML export format.",
            "example" : "1.0"
          },
          "metadataLocale" : {
            "type" : "string",
            "description" : "The locale used for metadata (object names, descriptions).",
            "example" : "en-US"
          },
          "dateNumberLocale" : {
            "type" : "string",
            "description" : "The locale used for date and number formatting.",
            "example" : "en-US"
          },
          "model" : {
            "type" : "array",
            "description" : "The list of data model objects included in the export.",
            "items" : {
              "$ref" : "#/components/schemas/ms-DataModelAll"
            }
          },
          "fingerprint" : {
            "type" : "string",
            "description" : "A unique identifier representing the state of the data model at the time of export. Used to detect if the model has been modified since the export."
          }
        },
        "description" : "The YAML representation of an exported data model."
      },
      "ms-Workspace" : {
        "title" : "Workspace",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Workspace id"
          },
          "dateCreated" : {
            "type" : "string",
            "description" : "The date/time at which this object was first saved into the metadata.\n",
            "format" : "date-time",
            "readOnly" : true
          },
          "dateModified" : {
            "type" : "string",
            "description" : "The date/time at which this object was last saved into the metadata.\n",
            "format" : "date-time",
            "readOnly" : true
          },
          "datasetServeMode" : {
            "type" : "string",
            "enum" : [ "in_memory", "connect_live", "off_memory" ]
          },
          "sampling" : {
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "description" : "The sampling method to use for the data model.\n",
                "enum" : [ "random", "first" ]
              },
              "rowCount" : {
                "type" : "integer",
                "description" : "The size of the sample to draw from the datasource.\n"
              }
            }
          },
          "dssHost" : {
            "type" : "string",
            "description" : "DSS host"
          },
          "dssPort" : {
            "type" : "integer",
            "description" : "DSS port"
          },
          "pipelines" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-Pipeline"
            }
          }
        },
        "description" : "Object that specifies a workspace definition.\n"
      },
      "ms-Pipeline" : {
        "required" : [ "name", "rootTable" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the pipeline",
            "readOnly" : true
          },
          "sql" : {
            "type" : "string"
          },
          "rootTable" : {
            "$ref" : "#/components/schemas/ms-dataServerRootTable"
          }
        },
        "description" : "Represents a data processing pipeline with hierarchical table structure"
      },
      "ms-dataServerWrangleTable" : {
        "type" : "object",
        "description" : "Represents a data table within the pipeline with columns and preview data",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerTableBase"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "example" : "wrangle",
              "enum" : [ "wrangle" ]
            },
            "operations" : {
              "$ref" : "#/components/schemas/ms-Operations"
            },
            "columns" : {
              "type" : "array",
              "description" : "List of columns in the table",
              "items" : {
                "$ref" : "#/components/schemas/ms-dataServerColumn"
              },
              "default" : [ ]
            },
            "children" : {
              "type" : "array",
              "description" : "Child tables in the pipeline hierarchy",
              "items" : {
                "$ref" : "#/components/schemas/ms-dataServerSourceTable"
              },
              "default" : [ ]
            }
          }
        }, {
          "$ref" : "#/components/schemas/ms-previewData"
        } ]
      },
      "ms-dataServerSourceTable" : {
        "type" : "object",
        "description" : "Represents a data table within the pipeline with columns and preview data",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerTableBase"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "example" : "source",
              "enum" : [ "source" ]
            },
            "columns" : {
              "type" : "array",
              "description" : "List of columns in the table",
              "items" : {
                "$ref" : "#/components/schemas/ms-dataServerColumn"
              },
              "default" : [ ]
            },
            "originalSchema" : {
              "type" : "string",
              "description" : "original schema string for the source table"
            },
            "importSource" : {
              "$ref" : "#/components/schemas/ms-dataServerImportSource"
            },
            "filter" : {
              "$ref" : "#/components/schemas/ms-DataServerTableFilter"
            },
            "previewData" : {
              "type" : "array",
              "items" : {
                "type" : "array",
                "default" : [ ]
              },
              "default" : [ ]
            },
            "sampling" : {
              "type" : "object",
              "properties" : {
                "type" : {
                  "type" : "string",
                  "enum" : [ "first", "random" ]
                },
                "rowCount" : {
                  "type" : "number",
                  "default" : 1000
                }
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/ms-previewData"
        } ]
      },
      "ms-ScopeFilter" : {
        "title" : "ScopeFilter",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "controlType" : {
            "type" : "string",
            "description" : "Scope filter control type",
            "enum" : [ "edit", "view", "hidden" ]
          },
          "conditions" : {
            "type" : "array",
            "description" : "A list of scope filter prompts",
            "items" : {
              "$ref" : "#/components/schemas/ms-ScopeFilterPrompt"
            }
          }
        },
        "description" : "The scope filter definition.\n"
      },
      "ms-TypeObjectId" : {
        "title" : "Object Id",
        "type" : "string",
        "description" : "A globally unique identifier used to distinguish between metadata objects within the same project.\nIt is possible for two metadata objects in different projects to have the same _Object Id_.\n\nObjects that are automatically created as part of a project or configuration are given fixed\nids which makes it easy to identify them.\n",
        "format" : "dssid"
      },
      "ms-InnerTemplate" : {
        "title" : "Inner Template",
        "required" : [ "columns", "pageBy", "rows" ],
        "type" : "object",
        "properties" : {
          "rows" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          },
          "columns" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          },
          "pageBy" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          }
        },
        "description" : "Object that specifies a _cube tempate_. A cube template defines the layout of general categories of information in a cube. In a cube template, you specify the information that you want to retrieve from your data source, and the way that you want the data to be displayed in Grid view.\n\nThe units in the Cube template don't support the types of _custom_group_, _consolidation_, _prompt_ and _raw_unit_.\n"
      },
      "ms-XdaLogicalTable" : {
        "title" : "free form sql logical table",
        "type" : "object",
        "properties" : {
          "physicalTable" : {
            "$ref" : "#/components/schemas/ms-XdaPhysicalTable"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-XdaAttribute"
            }
          },
          "metrics" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-XdaMetric"
            }
          },
          "dataSource" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Free form sql logical table definition contains \"physicalTable\", \"attributes\", \"metrics\" and \"dataSource\" fields:\n\"physicalTable\": contains a list of columns and a sql expression field.\n\"attributes\": defines a list of attributes, attribute forms and their mapping columns.\n\"metrics\": defines a list of metrics and their mapping columns.\n\"dataSource\": specifies the data warehouse used as data source.\n"
      },
      "ms-NormalCube" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "options" : {
            "$ref" : "#/components/schemas/ms-CubeOptions"
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-CubeAdvancedProperties"
          },
          "timeBased" : {
            "$ref" : "#/components/schemas/ms-TimeBased"
          }
        }
      },
      "ms-Expression" : {
        "title" : "Expression",
        "type" : "object",
        "properties" : {
          "tree" : {
            "$ref" : "#/components/schemas/ms-ExpressionNode"
          },
          "text" : {
            "type" : "string",
            "description" : "Human readable description of the expression.  It is generated from the current specification\nof the expression.\n\nThis string will appear similar to a parsable description of the expression in\nthe current user's locale.  It is intended to be used to allow a user to easily\ndistinguish between expressions.  But this string cannot actually be used as input to a\nparser session because it does not contain hidden information about ambiguities in\nthe parse text.\n\nSince this representation is not able to fully describe an expression, there is\nno point in the client ever sending it to the service.\n",
            "readOnly" : true,
            "example" : "TOTAL_COST"
          },
          "tokens" : {
            "type" : "array",
            "description" : "Optional array, used if the expression is to be presented as a stream of tokens.\n\nAll types of expressions can be represented in the form of tokens, but some expressions with type predicate are yet not supported to be used in the request input for validation or modification, even when you are using the tokens returned from the service. For e.g. predicate_joint_element_list,  predicate_element_list, and some cases involving embedded objects. Expected errors while be thrown in such cases.\n\nWhen this representation is used by the service we would expect that the tokens would either\ncompletely parse the expression, or would describe an error in the parsing.  When this representation\nis used by the client the tokens would either correspond to fresh text from the user (a `client` token)\nor to parts of the text that the user has not edited (a `parsed` token).\n",
            "items" : {
              "$ref" : "#/components/schemas/ms-ExpressionToken"
            }
          }
        },
        "description" : "A generic specification for a calculation stored within a metadata object.\nThe expression is represented as a tree over nodes.  Most internal nodes\n(called _operator_ nodes) are defined by applying a function to the operator's child nodes.\n\nUsually an expression must be non-empty.  But in a few cases, most notably a filter expression\nit is valid for an expression to contain no nodes at all.  An expression is _empty_ if and only if\nit does not have a `tree` property.\n\nAlternatively the client may prefer to handle an expression as a list of tokens.\nEach token represents part of the raw text of the expression, in some cases annotated\nwith additional information.\n"
      },
      "ms-StructErrors" : {
        "title" : "Errors",
        "type" : "object",
        "properties" : {
          "errors" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-StructError"
            }
          }
        }
      },
      "ms-ApplicableProperty" : {
        "title" : "Applicable property object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Property name - a reference to the server object which appears in english only."
          },
          "groupId" : {
            "type" : "number",
            "description" : "Id of the property group, used by client to group properties in folders."
          },
          "groupName" : {
            "type" : "string",
            "description" : "Property group name used by the client to group properties in folders which can be internationalized."
          },
          "maxValue" : {
            "type" : "number",
            "description" : "Shows maximum number of options that can be provided for the property."
          },
          "displayType" : {
            "type" : "string",
            "description" : "Determines the way of displaying properties by caller.",
            "enum" : [ "group", "one_line_text_box", "n_line_text_box", "check_box", "combo_box", "options", "long" ]
          },
          "displayName" : {
            "type" : "string",
            "description" : "Represents the display name of the property which can be internationalized."
          },
          "showSqlPreview" : {
            "type" : "boolean",
            "description" : "Boolean value used to determine whether to show SQL preview or not."
          },
          "options" : {
            "$ref" : "#/components/schemas/ms-ApplicablePropertyOptions"
          },
          "type" : {
            "$ref" : "#/components/schemas/ms-EnumVariantType"
          },
          "defaultValue" : {
            "type" : "string",
            "description" : "Default value of a property."
          }
        },
        "description" : "Represents an applicable property where Key of a property is a pair in the format \"[<propertySetName>].[<propertyName>]\""
      },
      "ms-IncrementalRefreshReportGeneral" : {
        "required" : [ "information", "targetCube" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "targetCube" : {
            "$ref" : "#/components/schemas/ms-TargetCube"
          },
          "incrementType" : {
            "$ref" : "#/components/schemas/ms-EnumIncrementType"
          },
          "refreshType" : {
            "$ref" : "#/components/schemas/ms-EnumRefreshType"
          },
          "template" : {
            "title" : "Incremental Refresh Report Template",
            "oneOf" : [ {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-InnerTemplateForIncrementalRefreshReport"
              }, {
                "title" : "Embedded Template"
              } ]
            }, {
              "title" : "Standalone Template",
              "type" : "object",
              "properties" : {
                "standaloneTemplate" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                }
              }
            } ]
          },
          "advancedProperties" : {
            "$ref" : "#/components/schemas/ms-IncrementalRefreshReportAdvancedProperties"
          }
        }
      },
      "ms-AttributeRelationship" : {
        "title" : "Attribute Relationship",
        "description" : "Object that specifies a hierarchical relationship among attributes.\n",
        "allOf" : [ {
          "type" : "object",
          "properties" : {
            "parent" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        }, {
          "oneOf" : [ {
            "type" : "object",
            "properties" : {
              "child" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }, {
            "type" : "object",
            "properties" : {
              "jointChild" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                }
              }
            }
          } ]
        }, {
          "type" : "object",
          "properties" : {
            "relationshipTable" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "relationshipType" : {
              "type" : "string",
              "enum" : [ "one_to_one", "one_to_many", "many_to_one", "many_to_many" ]
            }
          }
        } ]
      },
      "ms-ObjectInfoBrowse" : {
        "title" : "Browse Object",
        "description" : "Description of an object providing values for the most frequently used fields.\n\nThe member values shown here correspond to the fields that would be supplied when browsing a folder\nthat contains this object.  The intent is that the user is given enough information to select an\ninteresting object.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoReference"
        }, {
          "type" : "object",
          "properties" : {
            "description" : {
              "type" : "string",
              "description" : "User supplied description for this object.\n\nIt is possible that the metadata might contain translations for the object's description.\nIn that case the description will be given in the metadata locale of the end user.\n"
            },
            "dateCreated" : {
              "type" : "string",
              "description" : "The date/time at which this object was first saved into the metadata.\n",
              "format" : "date-time",
              "readOnly" : true
            },
            "dateModified" : {
              "type" : "string",
              "description" : "The date/time at which this object was last saved into the metadata.\n",
              "format" : "date-time",
              "readOnly" : true
            },
            "destinationFolderId" : {
              "$ref" : "#/components/schemas/ms-TypeObjectId"
            },
            "versionId" : {
              "type" : "string",
              "description" : "The version number this object is currently carrying.\n",
              "readOnly" : true
            },
            "path" : {
              "type" : "string",
              "description" : "The path of the object\n",
              "readOnly" : true
            },
            "acg" : {
              "type" : "integer",
              "description" : "Object access rights. It is a bit vector where bits are defined at\n[EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)\n",
              "format" : "int32",
              "readOnly" : true
            }
          }
        } ]
      },
      "ms-AttributeForm" : {
        "title" : "Attribute Form",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute Form ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n\nNote that Form ID is associated with the form cateogry used. Multiple forms that use the same category will have the same ID.\nHowever, since no two forms within the same attribute can use the same category, no two forms will share an ID in the same attribute.\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the attribute form set by the attribute.\nUnlike `category`, which is the systemic name associated with each reusable form, this name is specific to the attribute using this form.\n"
          },
          "category" : {
            "type" : "string",
            "description" : "The category of the attribute form.\nUnlike `name`, The field is independent of the attribute using this form.\nThis field can only be set when creating a new form. Once a form is created, its category becomes non-mutable.\nIf not provided (or set as `None`) when an attribute is being created, a custom category will be automatically generated.\n"
          },
          "type" : {
            "type" : "string",
            "description" : "A read-only field indicating the type of this form. A custom form is created if its category is set to `None`.\n",
            "enum" : [ "system", "custom" ]
          },
          "isMutilingual" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether this field is multilingual.\nThe default value(`false`) will be hidden from the response.\nAny key form of the attribtue is not allowed to be set as multilingual.\nWhen setting any form that has had multilingual enabled as the new key, this field will be automatically reverted to `false`.\n",
            "default" : false
          },
          "isFormGroup" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether this form is a form group (if `true`) or a simple form (if `false`).\nThe default value(`false`) will be hidden from the response.\n",
            "default" : false
          },
          "geographicalRole" : {
            "type" : "string",
            "description" : "`None` will be hidden from the response.\n",
            "enum" : [ "none", "city", "state", "country", "location", "latitude", "longitude", "other", "zip_code", "county", "area_code", "geometry" ]
          },
          "timeRole" : {
            "type" : "string",
            "description" : "`None` will be hidden from the response.\n",
            "enum" : [ "none", "date", "time", "second", "minute", "hour", "day", "week", "month", "quarter", "year", "seasonal_root", "year_of_decade", "quarter_of_year", "month_of_year", "month_of_quarter", "week_of_year", "week_of_quarter", "week_of_month", "day_of_year", "day_of_quarter", "day_of_month", "day_of_week", "hour_of_day", "minute_of_day", "minute_of_hour", "second_of_day", "second_of_hour", "second_of_minute", "seasonal_end" ]
          },
          "imageLayoutShapeKey" : {
            "type" : "string"
          },
          "semanticRole" : {
            "$ref" : "#/components/schemas/ms-SemanticRole"
          }
        },
        "description" : "The Attribute Form Object\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-FormSimple"
        }, {
          "$ref" : "#/components/schemas/ms-FormGroup"
        } ]
      },
      "ms-FormReference" : {
        "title" : "Form Reference",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the form.\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the form.\n"
          }
        },
        "description" : "The reference that identifies a form object within the context of a given attribute.\nWhen writing back an attribute, either `id` or `name` is needed to identify a form, and if both are provided, `id` will take the higher priority.\n"
      },
      "ms-AttributeDisplays" : {
        "title" : "Attribute Displays",
        "properties" : {
          "reportDisplays" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-FormReference"
            }
          },
          "browseDisplays" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-FormReference"
            }
          }
        },
        "description" : "The collections of report displays and browse displays of the attribute.\n"
      },
      "ms-AttributeSorts" : {
        "title" : "Attribute Sorts",
        "properties" : {
          "reportSorts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeSortElement"
            }
          },
          "browseSorts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeSortElement"
            }
          }
        },
        "description" : "The collections of report sorts and browse sorts of the attribute.\n"
      },
      "ms-AttributeAdvancedProperties" : {
        "title" : "Attribute advanced properties",
        "required" : [ "vldbProperties" ],
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          }
        },
        "description" : "Advanced Properties of an attribute.\n"
      },
      "ms-EnumLockState" : {
        "title" : "Lock State",
        "type" : "string",
        "description" : "A type of lock status that could be returned from the schema.\nThe lock state could be any of the lock types, but it is also possible that the schema is\nnot actually locked.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-EnumLockType"
        }, {
          "type" : "string",
          "enum" : [ "unlocked" ]
        } ]
      },
      "ms-StructError" : {
        "title" : "Error",
        "required" : [ "code", "message" ],
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string",
            "description" : "Internal application error code"
          },
          "message" : {
            "type" : "string",
            "description" : "Description of error"
          },
          "additionalProperties" : {
            "type" : "object",
            "description" : "Additional information related to the error (if any)"
          }
        },
        "description" : "Standard properties used to report an error"
      },
      "ms-ObjectInfoAll" : {
        "title" : "Object Information",
        "description" : "An object that contains all of the _type-neutral_ information stored in the metadata about an\nobject.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBrowse"
        }, {
          "type" : "object",
          "properties" : {
            "acl" : {
              "type" : "array",
              "description" : "An array of access control entry objects.  Taken together these objects specify which users are\npermitted to perform which actions on this object.\n\nEmbedded objects do not have access control lists.\nInstead they reuse the access control list of their containing object.\n",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectAccessControlEntry"
              }
            },
            "primaryLocale" : {
              "type" : "string",
              "description" : "The primary locale of the object, in the IETF BCP 47 language tag format, such as \"en-US\".\n\nIf no particular locale is set as the primary locale (for example, if the project is \nnot internationalized), the field will be omitted.\n\nThis field is read-only.\n"
            }
          }
        } ]
      },
      "ms-StructDataType" : {
        "title" : "Data Type",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "String literal used to identify the gross data type of an actual or proposed column in a\ndatabase.\n",
            "enum" : [ "unknown", "reserved", "integer", "unsigned", "numeric", "decimal", "real", "float", "char", "fixed_length_string", "variable_length_string", "binary", "var_bin", "longVarBin", "date", "time", "time_stamp", "n_char", "n_var_char", "short", "long", "mb_char", "bool", "pattern", "n_pattern", "cell_format_data", "missing", "utf8_char", "int64", "guid", "double_double" ]
          },
          "precision" : {
            "type" : "integer",
            "description" : "For relevant data types, the length of the representation"
          },
          "scale" : {
            "type" : "integer",
            "description" : "For relevant data types, the fixed position used in the representation"
          }
        },
        "description" : "Representation in the object model for a data-type that could be used for a SQL column."
      },
      "ms-ExpressionModules" : {
        "title" : "Fact Expressions",
        "type" : "array",
        "description" : "Array with a member object for each separately defined expression currently in use by\na fact.  Often a fact expression takes the form of just a single column name, but more complex\nexpressions are possible.\n\nWe say that a table _supports_ a fact if it is possible to compute a value for the fact by\nmeans of a `SELECT` expression for each row of the table.  Each expression represents a\n`SELECT` expression.  We have an array of expressions because the architect is not\nobligated to use the same expression on every table on which the fact appears.\nHowever it is normal, when a fact appears on multiple tables, for it to reuse an expression,\nso we group together tables with the same expression inside this object.\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-ExpressionModule"
        }
      },
      "ms-TableError" : {
        "title" : "Same Table Error",
        "type" : "object",
        "properties" : {
          "errors" : {
            "type" : "array",
            "description" : "error list",
            "items" : {
              "$ref" : "#/components/schemas/ms-StructError"
            }
          }
        },
        "description" : "When adding tables into project, if any compatible table is found, return compatible table object.\n"
      },
      "ms-MDPartitionMappingTableInfoAdd" : {
        "title" : "Metadata Partition Mapping Table Definition",
        "required" : [ "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "required" : [ "subType" ],
            "type" : "object",
            "properties" : {
              "subType" : {
                "type" : "string",
                "description" : "should be \"table_partition_md\""
              },
              "name" : {
                "$ref" : "#/components/schemas/ms-ObjectName"
              },
              "destinationFolderId" : {
                "$ref" : "#/components/schemas/ms-TypeObjectId"
              }
            }
          },
          "logicalSize" : {
            "$ref" : "#/components/schemas/ms-logicalSize"
          },
          "isLogicalSizeLocked" : {
            "$ref" : "#/components/schemas/ms-isLogicalSizeLocked"
          },
          "partitionTables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-MDPartitionBaseTableInfoAdd"
            }
          }
        },
        "description" : "body for creating metadata partition mapping table"
      },
      "ms-PrimaryDataSource" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoReference"
        }, {
          "title" : "Primary Data Source"
        }, {
          "description" : "Table's data can be from different data sources.\nPrimary data source is the first option for table's data source.\n"
        } ]
      },
      "ms-FFSqlPhysicalTable" : {
        "title" : "type sql physical table fields",
        "type" : "object",
        "description" : "free form sql physical table specific fields",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PhysicalTable"
        }, {
          "required" : [ "columns", "sqlStatement" ],
          "type" : "object",
          "properties" : {
            "sqlStatement" : {
              "type" : "string",
              "description" : "the SQL statement that will be executed against the warehouse to get column data of the physical table."
            }
          }
        } ]
      },
      "ms-EncloseSqlInParentheses" : {
        "title" : "enclose sql in parentheses",
        "type" : "boolean",
        "description" : "This property is only applied to free form sql table. By default, this property value is set to true. This encloses the entire SQL that you typed in\nthe sqlStatement field in parentheses when the SQL statement is executed.\n"
      },
      "ms-TableInfoWithBasic" : {
        "title" : "table basic information",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "logicalSize" : {
            "$ref" : "#/components/schemas/ms-logicalSize"
          },
          "isPartOfPartition" : {
            "$ref" : "#/components/schemas/ms-isPartOfPartition"
          },
          "isTrueKey" : {
            "$ref" : "#/components/schemas/ms-isTrueKey"
          }
        }
      },
      "ms-NormalPhysicalTable" : {
        "title" : "type normal physical table fields",
        "type" : "object",
        "description" : "normal physical table specific fields",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PhysicalTable"
        }, {
          "required" : [ "namespace", "tableName" ],
          "type" : "object",
          "properties" : {
            "tableName" : {
              "type" : "string",
              "description" : "table name in warehouse"
            },
            "namespace" : {
              "type" : "string"
            },
            "tablePrefix" : {
              "type" : "string",
              "description" : "table prefix of this physical table"
            }
          }
        } ]
      },
      "ms-SapHanaVariable" : {
        "type" : "object",
        "properties" : {
          "variableName" : {
            "type" : "string"
          },
          "columnSqlType" : {
            "type" : "string"
          },
          "valueType" : {
            "$ref" : "#/components/schemas/ms-EnumDSSHANAVValType"
          },
          "valueAttribute" : {
            "type" : "string"
          },
          "selectionType" : {
            "$ref" : "#/components/schemas/ms-EnumDSSHANAVSelType"
          },
          "multiline" : {
            "type" : "boolean"
          },
          "mandatory" : {
            "type" : "boolean"
          },
          "modelElementName" : {
            "type" : "string"
          },
          "placeholderName" : {
            "type" : "string"
          },
          "defaultValue" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string"
          },
          "columnDataType" : {
            "$ref" : "#/components/schemas/ms-EnumDSSDataType"
          }
        },
        "description" : "The SAP HANA variable."
      },
      "ms-EnumDSSExternalTableType" : {
        "type" : "string",
        "description" : "The external table type.",
        "enum" : [ "sap_hana", "sap_hana_row", "sap_hana_column", "sap_hana_hybrid", "sap_hana_olap", "sap_hana_join", "sap_hana_hierarchy", "sap_hana_calculation" ]
      },
      "ms-PhysicalTable" : {
        "title" : "physical tables",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "type" : {
            "type" : "string",
            "description" : "table type",
            "enum" : [ "normal", "warehouse_partition", "sql" ]
          },
          "columns" : {
            "$ref" : "#/components/schemas/ms-Columns"
          }
        },
        "description" : "Metadata creates a physical table based on warehouse's physical table or free form sql.\n"
      },
      "ms-logicalSize" : {
        "type" : "integer",
        "description" : "MicroStrategy assigns a size to every table in the project when you initially add it to the project.\nThese size assignments are based on the columns in the tables and the attributes to which those columns correspond.\nBecause MicroStrategy uses the conceptual or logical attribute definitions to assign a size to each table in the project, this measurement is referred to as logical table size.\n"
      },
      "ms-isPartOfPartition" : {
        "type" : "boolean",
        "description" : "whether current table is part of partition table."
      },
      "ms-isTrueKey" : {
        "type" : "boolean",
        "description" : "MicroStrategy requires each table to have a primary key, which is a unique value identifying each distinct data record or row.\nA primary key can be defined by one or more columns in the table.\nMicroStrategy determines the primary key for a table based on the attribute's mapped to the columns of the table.\nThe key is made up of the lowest level attributes.\nFor example, a warehouse table's primary key is defined using the columns CUSTOMER_ID, PRODUCT_ID, and ORDER_ID.\nIf these three columns are mapped to attributes in MicroStrategy, then the primary key is represented correctly.\nIn this case, if isTrueKey is returned as true, it indicates specified primary key is the true key.\n"
      },
      "ms-PartitionTable" : {
        "title" : "Partition Base Table of Metadata Partitioning",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "partitionFilter" : {
            "$ref" : "#/components/schemas/ms-PartitionFilter"
          },
          "partitionLevel" : {
            "type" : "array",
            "description" : "An array with references to reduced attributes in the partition filter.\n",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        }
      },
      "ms-SapHanaParameter" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "SAP HANA parameter name that corresponds to SAP HANA variable."
          },
          "prompt" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "The SAP HANA parameter."
      },
      "ms-TableDefinition" : {
        "title" : "Table definition",
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "logicalSize" : {
            "$ref" : "#/components/schemas/ms-logicalSize"
          },
          "isLogicalSizeLocked" : {
            "$ref" : "#/components/schemas/ms-isLogicalSizeLocked"
          },
          "isPartOfPartition" : {
            "$ref" : "#/components/schemas/ms-isPartOfPartition"
          },
          "isTrueKey" : {
            "$ref" : "#/components/schemas/ms-isTrueKey"
          },
          "tableKey" : {
            "type" : "array",
            "description" : "table keys defined on physical table",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "partitionLevel" : {
            "type" : "array",
            "description" : "partition attributes",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "attributes" : {
            "type" : "array",
            "description" : "Attributes are the business concepts reflected in data.\nAttributes provide a context in which to report on and analyze business facts or calculations.\nAn attribute on a dossier serves as a label for a group of metrics.\n",
            "items" : {
              "type" : "object",
              "properties" : {
                "information" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                },
                "forms" : {
                  "type" : "array",
                  "items" : {
                    "type" : "object",
                    "properties" : {
                      "category" : {
                        "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                      },
                      "expression" : {
                        "type" : "object",
                        "properties" : {
                          "text" : {
                            "type" : "string"
                          }
                        }
                      },
                      "dataType" : {
                        "$ref" : "#/components/schemas/ms-StructDataType"
                      },
                      "dataFormat" : {
                        "type" : "string",
                        "description" : "data format"
                      }
                    }
                  }
                }
              }
            }
          },
          "facts" : {
            "type" : "array",
            "description" : "Facts are one of the essential elements within the business data model and basis for almost all metrics.\nThey relate numeric data values from the data warehouse to the MicroStrategy reporting environment.\nA fact has two common characteristics: numeric and aggregatable.\nCommon facts include sales dollars, units sold, profit, and cost.\n",
            "items" : {
              "type" : "object",
              "properties" : {
                "information" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                },
                "expression" : {
                  "type" : "object",
                  "properties" : {
                    "text" : {
                      "type" : "string"
                    }
                  },
                  "description" : "A fact expression maps facts to physical columns in the warehouse.\nThese expressions can be as simple as a fact column name from the warehouse, or as sophisticated as a formula containing multiple fact column names and numeric constants.\n"
                }
              }
            }
          },
          "primaryDataSource" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "Table's data can be from different data sources.\nPrimary data source is the first option for table's data source.\n"
            } ]
          }
        },
        "description" : "the definition of a logical table"
      },
      "ms-EnumObjectSubType" : {
        "title" : "Object Type",
        "type" : "string",
        "description" : "String literal used to identify the type of a metadata object.\n\nA metadata object has two type related properties known as the _type_ and the _subtype_.\nWe omit the _type_ from the model-service data model because it is redundant.\nThe _type_ of an object is implied by its _subtype_.\n\nOther MicroStrategy APIs make a distinction between an object's _type_ and _subtype_ because\nin some cases (e.g. the different kinds of reports) it can be useful to see one \"report\" concept\nrather than to have to always distinguish between different kinds of reports.\nBut there are cases (e.g. *filters* versus *custom-groups*, *users* versus *user-groups*\nor *reports* versus *hyper-objects*) where users want to see the different _subtypes_\nof the same _type_ as fundamentally different.\n",
        "enum" : [ "filter", "custom_group", "filter_partition", "segment", "template", "report_grid", "report_graph", "report_engine", "report_text", "report_datamart", "report_base", "report_grid_and_graph", "report_non_interactive", "report_cube", "report_increment_refresh", "report_transaction", "report_emma_cube", "report_emma_cube_irr", "report_hyper_card", "metric", "metric_subtotal", "system_subtotal", "metric_dmx", "metric_training", "metric_extreme", "metric_reference_line", "metric_relationship", "style", "agg_metric", "folder", "folder_system", "device", "prompt", "prompt_boolean", "prompt_long", "prompt_string", "prompt_double", "prompt_date", "prompt_objects", "prompt_elements", "prompt_expression", "prompt_expression_draft", "prompt_dimty", "prompt_big_decimal", "function", "function_third_party", "attribute", "attribute_role", "attribute_transformation", "attribute_abstract", "attribute_recursive", "attribute_derived", "fact", "dimension_system", "dimension_user", "dimension_ordered", "dimension_user_hierarchy", "logical_table", "table_partition_md", "table_partition_wh", "datamart_report", "fact_group", "shortcut", "shortcut_weak_ref", "resolution", "attribute_form_system", "attribute_form_normal", "schema", "format", "catalog", "catalog_defn", "column", "column_normal", "column_custom", "property_group", "property_set", "db_role", "db_role_import", "db_role_import_primary", "db_role_o_auth", "db_role_remote_date_source", "db_role_url_auth", "db_role_generic_data_connector", "db_role_data_import_server", "db_role_cloud_element", "db_login", "db_connection", "project", "server_def", "user", "user_group", "transmitter", "configuration", "request", "search", "indexed_search", "relationship_search", "search_folder", "search_folder_cross_project", "datamart", "function_package_definition", "role", "role_transformation", "security_role", "locale", "consolidation", "consolidation_derived", "consolidation_element", "schedule_event", "schedule_object", "schedule_trigger", "link", "physical_table", "db_table_pmt", "db_table_source", "document_definition", "report_writing_document", "document_theme", "dossier", "drill_map", "dbms", "md_security_filter", "monitor_performance", "monitor_jobs", "monitor_user_connections", "monitor_db_connections", "prompt_answer", "prompt_answer_boolean", "prompt_answer_long", "prompt_answer_string", "prompt_answer_double", "prompt_answer_date", "prompt_answer_objects", "prompt_answer_elements", "prompt_answer_expression", "prompt_answer_expression_draft", "prompt_answer_dimty", "prompt_answer_big_decimal", "prompt_answer_int64", "prompt_answers", "graph_style", "change_journal_search", "blob_unknown", "blob_other", "blob_image", "blob_project_package", "blob_excel", "blob_html_template", "dashboard_template", "flag", "change_journal", "external_shortcut_unknown", "external_shortcut_url", "external_shortcut_snapshot", "external_shortcut_target", "reconciliation", "palette_system", "palette_custom", "thresholds", "subscription_address", "subscription_contact", "subscription_instance" ]
      },
      "ms-ObjectName" : {
        "title" : "Metadata Object Name",
        "type" : "string",
        "description" : "The name of the metadata object.\n\nIt is possible that the metadata might contain translations for the object's name.\nIn that case the name will be given in the metadata locale of the end user.\n\nAn object might not be named at all.  We do not require that all metadata objects are named.\nIf the object is not named in the metadata then this member value will be omitted.\n",
        "example" : "City"
      },
      "ms-MDPartitionMappingTableInfoPatch" : {
        "title" : "Metadata Partition Mapping Table Definition",
        "type" : "object",
        "properties" : {
          "information" : {
            "type" : "object",
            "properties" : {
              "name" : {
                "$ref" : "#/components/schemas/ms-ObjectName"
              },
              "destinationFolderId" : {
                "$ref" : "#/components/schemas/ms-TypeObjectId"
              }
            }
          },
          "logicalSize" : {
            "$ref" : "#/components/schemas/ms-logicalSize"
          },
          "isLogicalSizeLocked" : {
            "$ref" : "#/components/schemas/ms-isLogicalSizeLocked"
          },
          "partitionTables" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-MDPartitionBaseTableInfoAdd"
            }
          }
        },
        "description" : "body for patching metadata partition mapping table"
      },
      "ms-PhysicalTableInfoAdd" : {
        "required" : [ "type" ],
        "type" : "object",
        "example" : {
          "information" : {
            "name" : "string"
          },
          "type" : "normal",
          "columns" : [ {
            "columnName" : "string",
            "dataType" : {
              "type" : "int",
              "precision" : 5,
              "scale" : 0
            }
          } ],
          "tableName" : "string",
          "namespace" : "string",
          "tablePrefix" : "string"
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "normal" : "NormalPhysicalTable",
            "sql" : "FFSqlPhysicalTable"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-NormalPhysicalTable"
        }, {
          "$ref" : "#/components/schemas/ms-FFSqlPhysicalTable"
        } ]
      },
      "ms-PromptQuestion" : {
        "title" : "the question part for one prompt",
        "description" : "This is the main definition for one prompt.\n",
        "example" : {
          "displayForms" : "all_forms",
          "listAllHierarchies" : true
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestionExpressionHierarchy"
        }, {
          "$ref" : "#/components/schemas/ms-PromptQuestionExpressionAttribute"
        }, {
          "$ref" : "#/components/schemas/ms-PromptQuestionExpressionMetric"
        }, {
          "$ref" : "#/components/schemas/ms-PromptQuestionObjects"
        }, {
          "$ref" : "#/components/schemas/ms-PromptQuestionElements"
        } ]
      },
      "ms-PromptDefaultAnswer" : {
        "title" : "the default answer part for one prompt",
        "description" : "This is the default answer definition for one prompt.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswerExpression"
        }, {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswerObjects"
        }, {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswerElements"
        }, {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswerValue"
        } ]
      },
      "ms-PromptRestriction" : {
        "title" : "the restriction part",
        "required" : [ "allowPersonalAnswers", "required" ],
        "type" : "object",
        "properties" : {
          "required" : {
            "type" : "boolean",
            "description" : "whether prompt answer required",
            "default" : false
          },
          "allowPersonalAnswers" : {
            "type" : "string",
            "description" : "personal answers allowed flag",
            "default" : "none",
            "enum" : [ "none", "single", "multiple" ]
          },
          "maxElementsPerSelection" : {
            "type" : "integer",
            "description" : "max number of elements for the selection"
          },
          "min" : {
            "type" : "object",
            "description" : "min value for the prompt"
          },
          "max" : {
            "type" : "object",
            "description" : "max value for the prompt"
          }
        },
        "description" : "This defines all the restriction parameters for one prompt"
      },
      "ms-CustomGroupOptions" : {
        "title" : "CustomGroupOptions",
        "type" : "object",
        "properties" : {
          "hierarchyDisplay" : {
            "type" : "boolean",
            "description" : "Enable Hierarchical Display",
            "default" : true
          },
          "subtotalsDisplay" : {
            "type" : "boolean",
            "description" : "Enable Subtotals Display",
            "default" : false
          },
          "elementHeaderAboveChild" : {
            "type" : "boolean",
            "description" : "Custom Group Element Header Above child elements",
            "default" : true
          }
        },
        "description" : "Custom group display options\n"
      },
      "ms-CustomGroupElement" : {
        "title" : "CustomGroupElement",
        "required" : [ "name", "qualification" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Custom Group Element ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Custom Group Element name, the name cannot contain \"#;\" or \"#,\""
          },
          "displayOption" : {
            "type" : "string",
            "description" : "Custom Group Element display options",
            "default" : "element",
            "enum" : [ "element", "individual", "individual_expand", "element_individual_expand" ]
          },
          "format" : {
            "type" : "object",
            "properties" : {
              "header" : {
                "type" : "array",
                "description" : "Element Header formatting properties",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              },
              "values" : {
                "type" : "array",
                "description" : "Element Value formatting properties",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              },
              "itemsHeaders" : {
                "type" : "array",
                "description" : "Individual Items Headers formatting properties",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              },
              "itemsValues" : {
                "type" : "array",
                "description" : "Individual Items Values formatting properties",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              }
            },
            "description" : "Custom Group Element formatting properties"
          },
          "qualification" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "Custom Group Element qualification\n"
            } ]
          }
        },
        "description" : "Each custom group element contains a set of filtering or banding qualifications.  \n\nQualifications in custom groups are the same as qualifications in filters(Filter REST API), with the following exceptions:\n- It has banding qualifications, which are available in custom groups only.\n- All set qualifications need to have an output level. A set qualification could be metric or relationship qualification.\n\nBanding qualifications cannot be combined with other types of qualifications\n"
      },
      "ms-NonReportObjectAdvancedProperties" : {
        "title" : "Non report object advanced properties",
        "required" : [ "vldbProperties" ],
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          }
        },
        "description" : "Advanced Properties of a non report object.\n"
      },
      "ms-DrillPath" : {
        "title" : "Drill Path",
        "type" : "object",
        "properties" : {
          "displayName" : {
            "type" : "string",
            "description" : "A brief description of the drill path; its length should not exceed 250"
          },
          "description" : {
            "type" : "string",
            "description" : "Detailed description about this drill path"
          },
          "type" : {
            "type" : "string",
            "description" : "The type of the drill action, which indicates what type of transformation this action translates to",
            "enum" : [ "up", "down", "across", "template", "drill_map" ]
          },
          "target" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "priority" : {
            "type" : "string",
            "description" : "The priority of the drill path",
            "default" : "low",
            "enum" : [ "low", "medium", "high" ]
          },
          "drillOptions" : {
            "$ref" : "#/components/schemas/ms-DrillOptions"
          }
        },
        "description" : "Object that specifies a _drill path_.\n\nA drill path is used to customize the behavior when drilling to the target that is specified in this path.\n"
      },
      "ms-ObjectInfoBase" : {
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "acl" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-DataModelObjectAce"
            },
            "example" : {
              "7FD5B69611D5AC76C000D98A4CC5F24F" : {
                "granted" : 255,
                "denied" : 0,
                "name" : "Admin",
                "subType" : "user"
              },
              "6E069E4C11D3E4E41000E887EC6DE8A4" : {
                "granted" : 0,
                "denied" : 255,
                "name" : "Everyone",
                "subType" : "user_group"
              }
            }
          },
          "translations" : {
            "$ref" : "#/components/schemas/ms-ObjectTranslation"
          }
        },
        "description" : "Base class containing object information, access control list, and translations."
      },
      "ms-Elements" : {
        "type" : "array",
        "items" : {
          "discriminator" : {
            "propertyName" : "type",
            "mapping" : {
              "list" : "ListElement",
              "filter" : "FilterElement",
              "calculation" : "CalculationElement",
              "all_other" : "AllOtherElemen"
            }
          },
          "oneOf" : [ {
            "$ref" : "#/components/schemas/ms-ListElement"
          }, {
            "$ref" : "#/components/schemas/ms-FilterElement"
          }, {
            "$ref" : "#/components/schemas/ms-CalculationElement"
          }, {
            "$ref" : "#/components/schemas/ms-AllOtherElement"
          } ]
        }
      },
      "ms-ConsolidationElement" : {
        "title" : "Consolidation Element",
        "required" : [ "expression" ],
        "description" : "A consolidation element uses functions to combine attribute elements and consolidation elements into calculations that define a single consolidation element.\nCalculation derived elements are created by defining expressions with valid combinations of functions, attribute elements, and derived elements.\nYou can include the following when you create a consolidation element expression:\n\n- Attribute elements\n- Consolidation elements\n- Constant\n- Functions: You can include `plus`, `minus`, `times`, and `divide`\n",
        "allOf" : [ {
          "required" : [ "name" ],
          "type" : "object",
          "properties" : {
            "id" : {
              "type" : "string",
              "description" : "consolidation element id"
            },
            "name" : {
              "type" : "string",
              "description" : "consolidation element name"
            },
            "type" : {
              "type" : "string",
              "description" : "type of the consolidation element",
              "enum" : [ "calculation" ]
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "format" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-format"
              } ]
            },
            "expression" : {
              "required" : [ "tree" ],
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              } ]
            }
          }
        } ]
      },
      "ms-HierarchyAttribute" : {
        "title" : "Hierarchy Attribute",
        "required" : [ "elementDisplayOption", "entryPoint", "objectId" ],
        "type" : "object",
        "properties" : {
          "objectId" : {
            "type" : "string",
            "description" : "the object ID"
          },
          "name" : {
            "type" : "string",
            "description" : "the object name"
          },
          "entryPoint" : {
            "type" : "boolean",
            "description" : "whether this hierarchy attribute is entry point"
          },
          "filters" : {
            "type" : "array",
            "description" : "The list of filters defined on this hierarchy attribute currently",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "elementDisplayOption" : {
            "type" : "string",
            "enum" : [ "limited_elements", "all_elements", "no_elements" ]
          },
          "limit" : {
            "type" : "integer",
            "description" : "the element display limit when elementDisplayOption is limited_elements"
          }
        },
        "description" : "Object that specifies the hierarchy attribute.\n"
      },
      "ms-HierarchyRelationship" : {
        "title" : "Hierarchy Relationship",
        "type" : "object",
        "properties" : {
          "parent" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "child" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Object that specifies the hierarchy relationship between hierarchy attributes.\n"
      },
      "ms-Dimty" : {
        "title" : "Dimty",
        "type" : "object",
        "properties" : {
          "dimtyUnits" : {
            "type" : "array",
            "description" : "The list of dimty unit",
            "items" : {
              "$ref" : "#/components/schemas/ms-DimtyUnit"
            }
          },
          "excludeAttribute" : {
            "type" : "boolean",
            "description" : "whether to exclude attribute absent in report or level(dimentionality)",
            "default" : false
          },
          "allowAddingUnit" : {
            "type" : "boolean",
            "description" : "whether to allow other users to add extra units",
            "default" : true
          },
          "prompt" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Object that specifies the dimty.\n"
      },
      "ms-Conditionality" : {
        "title" : "Conditionality",
        "type" : "object",
        "properties" : {
          "filter" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "embedMethod" : {
            "type" : "string",
            "enum" : [ "both_filters_together", "report_into_metric_filter", "metric_into_report_filter" ]
          },
          "removeElements" : {
            "type" : "boolean",
            "description" : "whether to remove related report filter elements",
            "default" : false
          },
          "prompt" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Object that specifies the conditionality.\n"
      },
      "ms-MetricSubtotal" : {
        "title" : "MetricSubtotal",
        "type" : "object",
        "properties" : {
          "definition" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "implementation" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Object that specifies the subtotal.\n"
      },
      "ms-format" : {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-FormatProperty"
            }
          },
          "header" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-FormatProperty"
            }
          }
        },
        "description" : "Format that lets you highlight important or unique data as well as correctly reflect value and character formats for your derived elements. _header_ allow you to format\nindividual attribute elements, while _value_ allow you to format metric values associated with the individual attribute elements.\n"
      },
      "ms-Threshold" : {
        "title" : "Threshold",
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "array",
            "description" : "The list of format property",
            "items" : {
              "$ref" : "#/components/schemas/ms-FormatProperty"
            }
          },
          "condition" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "The expression for the threshold.\n"
            } ]
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the threshold"
          },
          "replaceText" : {
            "type" : "string",
            "description" : "The string used to replace metric value"
          },
          "semantics" : {
            "type" : "string",
            "enum" : [ "number", "text", "picture", "symbol" ]
          },
          "scope" : {
            "type" : "string",
            "enum" : [ "metric_only", "subtotal_only", "metric_and_subtotal" ]
          },
          "enable" : {
            "type" : "boolean",
            "description" : "Whether to enable this threshold",
            "default" : true
          }
        },
        "description" : "Object that specifies the threshold.\n"
      },
      "ms-TransformationAttribute" : {
        "title" : "TransformationAttribute",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "baseAttribute" : {
            "$ref" : "#/components/schemas/ms-BaseAttribute"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransformationAttributeForm"
            }
          }
        },
        "description" : "Object that specifies the transformation attribute.\n"
      },
      "ms-MappingType" : {
        "title" : "mapping type",
        "type" : "string",
        "description" : "The type used in the transformation definition.\n",
        "enum" : [ "one_to_one", "many_to_many" ]
      },
      "ms-CalendarYear" : {
        "oneOf" : [ {
          "type" : "object",
          "properties" : {
            "dynamicYearOffset" : {
              "type" : "integer"
            }
          },
          "description" : "the calendar year."
        }, {
          "type" : "object",
          "properties" : {
            "staticyear" : {
              "type" : "string"
            }
          },
          "description" : "the calendar year."
        } ]
      },
      "ms-EnumWeekStartDay" : {
        "type" : "string",
        "description" : "the start day of the week.",
        "enum" : [ "Sunday", "Monday", "Tuesday", "Wednsday", "Thursday", "Friday", "Saturday" ]
      },
      "ms-DataSourceForPOST" : {
        "title" : "Report DataSource",
        "type" : "object",
        "description" : "Report dataSource body for POST report API.\nBase on different report's sourceTypes, the report contains different dataSource.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-DataSourceForNormalReport"
        }, {
          "$ref" : "#/components/schemas/ms-DataSourceForFFSQLReport"
        }, {
          "$ref" : "#/components/schemas/ms-DataSourceForNewSubsetReport"
        } ]
      },
      "ms-Grid" : {
        "title" : "Report Grid",
        "type" : "object",
        "properties" : {
          "viewTemplate" : {
            "$ref" : "#/components/schemas/ms-ViewTemplate"
          },
          "viewFilter" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "Different from report's data filter which filters data when retriving data from data warehouse, view filter will filter data which is present in report's view template."
            } ]
          }
        },
        "description" : "The report grid describes what data is included in report's grid view.\n"
      },
      "ms-ReportAdvancedProperties" : {
        "title" : "Report Advanced Properties",
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          },
          "metricJoinTypes" : {
            "$ref" : "#/components/schemas/ms-MetricJoinTypes"
          },
          "attributeJoinTypes" : {
            "$ref" : "#/components/schemas/ms-AttributeJoinTypes"
          },
          "drillOptions" : {
            "$ref" : "#/components/schemas/ms-DrillOptionsSetting"
          },
          "useDefaultEvaluationOrder" : {
            "type" : "boolean"
          },
          "promptOrdering" : {
            "$ref" : "#/components/schemas/ms-PromptOrdering"
          }
        },
        "description" : "Advanced Properties of the report.\n"
      },
      "ms-DataSource" : {
        "title" : "Report DataSource",
        "type" : "object",
        "description" : "Base on different report's sourceTypes, the report contains different dataSource.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-DataSourceForNormalReport"
        }, {
          "$ref" : "#/components/schemas/ms-DataSourceForFFSQLReport"
        }, {
          "$ref" : "#/components/schemas/ms-DataSourceForSubsetReport"
        } ]
      },
      "ms-ReportPromptSaveOptions" : {
        "title" : "Prompt options to use when saving a report",
        "type" : "object",
        "properties" : {
          "saveAsWithAnswers" : {
            "type" : "boolean",
            "description" : "Whether current answers to the prompts will be set as the default ones next time you open the report."
          },
          "saveAsFilterWithPrompts" : {
            "type" : "boolean",
            "description" : "Whether filters will be prompted next time you open the report."
          },
          "saveAsTemplateWithPrompts" : {
            "type" : "boolean",
            "description" : "Whether template will be prompted next time you open the report."
          }
        },
        "description" : "Prompt options to use when saving a report. All options are optional.\nBy default, all options are \"true\", which means filters and template will be both prompted, and current answers to the prompts will be set as the default ones.\n"
      },
      "ms-DataSourceForDatamart" : {
        "title" : "Datamart DataSource",
        "type" : "object",
        "description" : "Datamart dataSource body\nBase on different datamart's sourceType, the datamart contains different dataSource.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-DataSourceForNormalReport"
        }, {
          "$ref" : "#/components/schemas/ms-DataSourceForFFSQLReport"
        } ]
      },
      "ms-DatamartOptions" : {
        "title" : "Datamart Options",
        "required" : [ "tableName", "targetSource" ],
        "type" : "object",
        "properties" : {
          "append" : {
            "type" : "boolean",
            "description" : "Use this flag to indicate creating a new table or appending to an existing table when inserting data into warehouse\n"
          },
          "targetSource" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "tableName" : {
            "type" : "string",
            "description" : "Name of the table where datamart will insert data into\n"
          },
          "placeholderIncluded" : {
            "type" : "boolean",
            "description" : "Whether table name contains [placeholder](https://www2.microstrategy.com/producthelp/Current/ReportDesigner/WebHelp/Lang_1033/Content/datamart_reports.htm)\n"
          },
          "datamartProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          }
        },
        "description" : "Datamart Settings\n"
      },
      "ms-DatamartAdvancedProperties" : {
        "title" : "Datamart Advanced Properties",
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          },
          "metricJoinTypes" : {
            "$ref" : "#/components/schemas/ms-MetricJoinTypes"
          },
          "attributeJoinTypes" : {
            "$ref" : "#/components/schemas/ms-AttributeJoinTypes"
          },
          "useDefaultEvaluationOrder" : {
            "type" : "boolean"
          },
          "promptOrdering" : {
            "$ref" : "#/components/schemas/ms-PromptOrdering"
          }
        },
        "description" : "Advanced Properties of the datamart.\n"
      },
      "ms-TransactionReportLogicalTable" : {
        "title" : "Transaction report logical table",
        "required" : [ "dataSource", "physicalTable" ],
        "type" : "object",
        "properties" : {
          "physicalTable" : {
            "$ref" : "#/components/schemas/ms-TransactionReportPhysicalTable"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransactionReportAttribute"
            }
          },
          "metrics" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransactionReportMetric"
            }
          },
          "dataSource" : {
            "required" : [ "objectId" ],
            "type" : "object",
            "properties" : {
              "objectId" : {
                "type" : "string",
                "description" : "datasource ID"
              },
              "subtype" : {
                "type" : "string",
                "enum" : [ "db_role" ]
              },
              "name" : {
                "type" : "string",
                "description" : "datasource name"
              }
            }
          }
        },
        "description" : "Transaction report logical table definition contains \"physicalTable\", \"attributes\", \"metrics\" and \"dataSource\" fields:\n\n\"physicalTable\": contains a list of columns and a sql expression field.\n\n\"attributes\": defines a list of attributes, attribute forms and their mapping columns.\n\n\"metrics\": defines a list of metrics and their mapping columns.\n\n\"dataSource\": specifies the data warehouse used as data source.\n"
      },
      "ms-DataModelPhysicalTable" : {
        "title" : "data model physical table fields",
        "type" : "object",
        "description" : "data model physical table specific fields",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PhysicalTable"
        }, {
          "type" : "object",
          "properties" : {
            "pipeline" : {
              "type" : "string",
              "description" : "the data model pipeline"
            }
          }
        } ]
      },
      "ms-AttributeInfo" : {
        "title" : "Attribute Info",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-AttributeFormInAttributeInfo"
            }
          },
          "nonAggregatable" : {
            "type" : "boolean"
          }
        },
        "description" : "The Attribute Object\n"
      },
      "ms-FactInfo" : {
        "title" : "Fact Info",
        "required" : [ "dataType", "expressions", "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "semanticRole" : {
            "$ref" : "#/components/schemas/ms-SemanticRole"
          }
        }
      },
      "ms-DataModelTableRefreshPolicy" : {
        "title" : "data model table refresh policy",
        "type" : "object",
        "properties" : {
          "refreshPolicy" : {
            "type" : "string",
            "enum" : [ "add", "update", "upsert", "replace", "delete", "duplicate" ]
          }
        },
        "description" : "data model table refresh policy"
      },
      "ms-DataModelEmbeddedObjects" : {
        "title" : "Data Model Embedded Objects",
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/ms-DataModelEmbeddedObject"
        }
      },
      "ms-DataModelObjectAce" : {
        "title" : "Data Model Object Access Control Entry",
        "type" : "object",
        "properties" : {
          "granted" : {
            "type" : "integer",
            "description" : "Object access rights. It is a bit vector where bits are defined at\n[EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)\n"
          },
          "denied" : {
            "type" : "integer",
            "description" : "Object access rights. It is a bit vector where bits are defined at\n[EnumDSSXMLAccessRightFlags](https://lw.microstrategy.com/msdz/msdl/GARelease_Current/docs/ReferenceFiles/reference/com/microstrategy/webapi/EnumDSSXMLAccessRightFlags.html)\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of user or usergroup"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          }
        }
      },
      "ms-Translations" : {
        "title" : "Translations For Name Or Description",
        "type" : "object",
        "properties" : {
          "targetName" : {
            "type" : "string",
            "description" : "The target name"
          },
          "translationValues" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-TranslationValue"
            },
            "description" : "The translations for different locales",
            "example" : {
              "1033" : {
                "translation" : "This is translation for locale 1033"
              },
              "2052" : {
                "translation" : "This is translation for locale 2052"
              }
            }
          }
        }
      },
      "ms-FormsTranslations" : {
        "title" : "Attribute Forms Translations",
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/ms-FormTranslations"
        },
        "description" : "Dictionary of form translations, where each key is the form id.",
        "example" : {
          "45C11FA478E745FEA08D781CEA190FE5" : {
            "name" : {
              "targetName" : "Attribute Form Name",
              "translationValues" : {
                "1033" : {
                  "translation" : "Customer City ID"
                }
              }
            },
            "description" : {
              "targetName" : "Attribute Form Description",
              "translationValues" : {
                "1033" : {
                  "translation" : "Unique identifier for the customer city"
                }
              }
            }
          }
        }
      },
      "ms-DataModelAttributeForm" : {
        "title" : "Data Model Attribute Form",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute Form ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n\nNote that Form ID is associated with the form cateogry used. Multiple forms that use the same category will have the same ID.\nHowever, since no two forms within the same attribute can use the same category, no two forms will share an ID in the same attribute.\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the attribute form set by the attribute.\nUnlike `category`, which is the systemic name associated with each reusable form, this name is specific to the attribute using this form.\n"
          },
          "category" : {
            "type" : "string",
            "description" : "The category of the attribute form.\nUnlike `name`, The field is independent of the attribute using this form.\nThis field can only be set when creating a new form. Once a form is created, its category becomes non-mutable.\nIf not provided (or set as `None`) when an attribute is being created, a custom category will be automatically generated.\n"
          },
          "type" : {
            "type" : "string",
            "description" : "A read-only field indicating the type of this form. A custom form is created if its category is set to `None`.\n",
            "enum" : [ "system", "custom" ]
          },
          "isMutilingual" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether this field is multilingual.\nThe default value(`false`) will be hidden from the response.\nAny key form of the attribtue is not allowed to be set as multilingual.\nWhen setting any form that has had multilingual enabled as the new key, this field will be automatically reverted to `false`.\n",
            "default" : false
          },
          "isFormGroup" : {
            "type" : "boolean",
            "description" : "A boolean field indicating whether this form is a form group (if `true`) or a simple form (if `false`).\nThe default value(`false`) will be hidden from the response.\n",
            "default" : false
          },
          "geographicalRole" : {
            "type" : "string",
            "description" : "`None` will be hidden from the response.\n",
            "enum" : [ "none", "city", "state", "country", "location", "latitude", "longitude", "other", "zip_code", "county", "area_code", "geometry" ]
          },
          "timeRole" : {
            "type" : "string",
            "description" : "`None` will be hidden from the response.\n",
            "enum" : [ "none", "date", "time", "second", "minute", "hour", "day", "week", "month", "quarter", "year", "seasonal_root", "year_of_decade", "quarter_of_year", "month_of_year", "month_of_quarter", "week_of_year", "week_of_quarter", "week_of_month", "day_of_year", "day_of_quarter", "day_of_month", "day_of_week", "hour_of_day", "minute_of_day", "minute_of_hour", "second_of_day", "second_of_hour", "second_of_minute", "seasonal_end" ]
          },
          "imageLayoutShapeKey" : {
            "type" : "string"
          }
        },
        "description" : "The Attribute Form Object in Data Model\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-DataModelAttributeFormSimple"
        }, {
          "$ref" : "#/components/schemas/ms-FormGroup"
        } ]
      },
      "ms-ManagedFact" : {
        "title" : "Managed Fact",
        "type" : "object",
        "properties" : {
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "entryLevel" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "Object that specifies a _managed fact_.\n"
      },
      "ms-FunctionProperty" : {
        "title" : "Function Property",
        "description" : "additional property associated with a function.",
        "allOf" : [ {
          "type" : "object",
          "properties" : {
            "name" : {
              "type" : "string"
            },
            "value" : {
              "$ref" : "#/components/schemas/ms-StructVariant"
            }
          }
        } ]
      },
      "ms-SortByObject" : {
        "title" : "Sort By Object",
        "type" : "object",
        "properties" : {
          "sortType" : {
            "type" : "string"
          },
          "object" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "attributeForm" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "ascending" : {
            "type" : "boolean"
          }
        },
        "description" : "Object that specifies a _sort by_ object.\n"
      },
      "ms-DataModelLinkUnit" : {
        "title" : "DataModelLinkUnit",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "externalDataModelId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        },
        "description" : "The data model link unit definition.\n"
      },
      "ms-ExternalDataModelChange" : {
        "title" : "ExternalDataModelChange",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "baseDataModel" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "alias" : {
            "type" : "string"
          },
          "newObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "deletedObjects" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "The external data model's changes."
      },
      "ms-InvalidLink" : {
        "title" : "InvalidLink",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          }
        },
        "description" : "The invalid link's definition."
      },
      "ms-InvalidObjectWithMessage" : {
        "title" : "InvalidObjectWithMessage",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "error" : {
            "type" : "string"
          }
        },
        "description" : "The invalid object with error message."
      },
      "ms-DataModelAll" : {
        "type" : "object",
        "description" : "The complete data model definition including all schema objects.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DataModel"
        }, {
          "type" : "object",
          "properties" : {
            "tables" : {
              "type" : "array",
              "description" : "The list of tables in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-DataModelTable"
              }
            },
            "attributes" : {
              "type" : "array",
              "description" : "The list of attributes in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-DataModelAttribute"
              }
            },
            "factMetrics" : {
              "type" : "array",
              "description" : "The list of fact-based metrics in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-FactMetric"
              }
            },
            "metrics" : {
              "type" : "array",
              "description" : "The list of derived metrics in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-AdvancedMetric"
              }
            },
            "hierarchy" : {
              "$ref" : "#/components/schemas/ms-DataModelHierarchy"
            },
            "securityFilters" : {
              "type" : "array",
              "description" : "The list of security filters in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-SecurityFilter"
              }
            },
            "folders" : {
              "type" : "array",
              "description" : "The list of folders and their contents in the data model.",
              "items" : {
                "$ref" : "#/components/schemas/ms-FolderWithContent"
              }
            },
            "links" : {
              "type" : "array",
              "description" : "The list of data model links.",
              "items" : {
                "$ref" : "#/components/schemas/ms-DataModelLink"
              }
            },
            "externalDataModels" : {
              "type" : "array",
              "description" : "The list of external data models referenced.",
              "items" : {
                "$ref" : "#/components/schemas/ms-ExternalDataModel"
              }
            }
          }
        } ]
      },
      "ms-dataServerRootTable" : {
        "type" : "object",
        "description" : "Root table that serves as the entry point for pipeline data structure",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerTableBase"
        }, {
          "required" : [ "children" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "example" : "root",
              "default" : "root",
              "enum" : [ "root" ]
            },
            "children" : {
              "type" : "array",
              "description" : "Child tables in the pipeline hierarchy",
              "items" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/ms-dataServerWrangleTable"
                }, {
                  "$ref" : "#/components/schemas/ms-dataServerSourceTable"
                } ]
              },
              "default" : [ ]
            }
          }
        } ]
      },
      "ms-previewData" : {
        "type" : "array",
        "readOnly" : true,
        "items" : {
          "type" : "array",
          "default" : [ ]
        },
        "default" : [ ]
      },
      "ms-Operations" : {
        "discriminator" : {
          "propertyName" : "op",
          "mapping" : {
            "core/row-deduplicate" : "#/components/schemas/RemoveDuplicateRowsOperation",
            "core/row-removal" : "#/components/schemas/DeleteRowsOperation",
            "core/column-removal" : "#/components/schemas/DropColumnsOperation",
            "mergeColumns" : "#/components/schemas/MergeColumnsOperation",
            "keepColumns" : "#/components/schemas/KeepColumnsOperation",
            "extractColumn" : "#/components/schemas/ExtractColumnOperation",
            "core/column-rename" : "#/components/schemas/RenameColumnOperation",
            "core/text-transform" : "#/components/schemas/TextTransformOperation",
            "splitColumn" : "#/components/schemas/SplitColumnOperation",
            "core/multivalued-cell-split" : "#/components/schemas/CellSplitOperation",
            "core/text-transform-wrangler" : "#/components/schemas/TextTransformWranglerOperation",
            "core/fill-down" : "#/components/schemas/FillDownOperation",
            "core/blank-down" : "#/components/schemas/BlankDownOperation",
            "changeColumnsDatatype" : "#/components/schemas/ChangeColumnsDatatypeOperation",
            "columnsToRows" : "#/components/schemas/ColumnsToRowsOperation",
            "rowsToColumns" : "#/components/schemas/RowsToColumnsOperation",
            "duplicateColumn" : "#/components/schemas/DuplicateColumnOperation",
            "core/mass-edit" : "#/components/schemas/MassEditOperation",
            "replaceMissingValue" : "#/components/schemas/ReplaceMissingValueOperation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-RemoveDuplicateRowsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-DeleteRowsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-DropColumnsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-MergeColumnsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-KeepColumnsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-ExtractColumnOperation"
        }, {
          "$ref" : "#/components/schemas/ms-RenameColumnOperation"
        }, {
          "$ref" : "#/components/schemas/ms-TextTransformOperation"
        }, {
          "$ref" : "#/components/schemas/ms-SplitColumnOperation"
        }, {
          "$ref" : "#/components/schemas/ms-CellSplitOperation"
        }, {
          "$ref" : "#/components/schemas/ms-TextTransformWranglerOperation"
        }, {
          "$ref" : "#/components/schemas/ms-FillDownOperation"
        }, {
          "$ref" : "#/components/schemas/ms-BlankDownOperation"
        }, {
          "$ref" : "#/components/schemas/ms-ChangeColumnsDatatypeOperation"
        }, {
          "$ref" : "#/components/schemas/ms-ColumnsToRowsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-RowsToColumnsOperation"
        }, {
          "$ref" : "#/components/schemas/ms-DuplicateColumnOperation"
        }, {
          "$ref" : "#/components/schemas/ms-MassEditOperation"
        }, {
          "$ref" : "#/components/schemas/ms-ReplaceMissingValueOperation"
        } ]
      },
      "ms-dataServerColumn" : {
        "type" : "object",
        "description" : "Represents a column in a data table with type and semantic information",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerObjectIdName"
        }, {
          "required" : [ "dataType" ],
          "type" : "object",
          "properties" : {
            "dataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "sourceDataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "semanticRole" : {
              "$ref" : "#/components/schemas/ms-dataServerSemanticRole"
            }
          }
        } ]
      },
      "ms-dataServerTableBase" : {
        "type" : "object",
        "description" : "Base class for all table types in the pipeline",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerObjectIdName"
        }, {
          "required" : [ "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-dataServerTableType"
              }, {
                "description" : "Type classification of the table. `root` type cannot be used in non-root(wrangle/source) tables"
              } ]
            }
          }
        } ]
      },
      "ms-dataServerImportSource" : {
        "type" : "object",
        "discriminator" : {
          "propertyName" : "type"
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-databaseImportSource"
        }, {
          "$ref" : "#/components/schemas/ms-urlImportSource"
        }, {
          "$ref" : "#/components/schemas/ms-googleBigQueryImportSource"
        } ]
      },
      "ms-DataServerTableFilter" : {
        "title" : "Data Server Table Filter",
        "type" : "object",
        "properties" : {
          "tree" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/ms-ExpressionNodeOperator"
            }, {
              "$ref" : "#/components/schemas/ms-DataServerTableFilterPredicateNode"
            } ]
          }
        },
        "description" : "Object that specifies a filter in source table in data server pipeline.\nA filter specifies a restriction that might be applied to a dataset when it is used in a computation.\n\nA filter takes the form of an expression tree over data structures known as _predicates_.\nEach predicate represents a single restriction on the available data.\nThe filter expression tree combines predicates together using logical operators.\n"
      },
      "ms-ScopeFilterPrompt" : {
        "title" : "ScopeFilterPrompt",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "function" : {
            "type" : "string",
            "description" : "Only useful when prompt type is element prompt",
            "enum" : [ "not_in", "in" ]
          },
          "expressionType" : {
            "type" : "string",
            "description" : "Only useful when prompt type is expression prompt"
          },
          "question" : {
            "$ref" : "#/components/schemas/ms-PromptQuestion"
          },
          "defaultAnswer" : {
            "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
          },
          "restriction" : {
            "$ref" : "#/components/schemas/ms-PromptRestriction"
          }
        },
        "description" : "The prompt used in scope filter.\n"
      },
      "ms-TemplateUnits" : {
        "title" : "Template Units",
        "type" : "array",
        "description" : "A list of template units describe the layout of the grid for the report.\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-TemplateUnit"
        }
      },
      "ms-XdaPhysicalTable" : {
        "title" : "free form sql physical table",
        "required" : [ "columns", "sqlExpression" ],
        "type" : "object",
        "properties" : {
          "sqlExpression" : {
            "$ref" : "#/components/schemas/ms-ExpressionNodeOperator"
          },
          "columns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-XdaColumn"
            }
          }
        },
        "description" : "Metadata creates a physical table based on free form sql.\n"
      },
      "ms-XdaAttribute" : {
        "title" : "Attribute",
        "required" : [ "forms" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "id" : {
            "type" : "string",
            "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n"
          },
          "name" : {
            "type" : "string"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-XdaAttributeForm"
            }
          }
        },
        "description" : "The Attribute Object\n"
      },
      "ms-XdaMetric" : {
        "title" : "Metric",
        "required" : [ "dataType", "expression" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n"
          },
          "name" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          }
        },
        "description" : "The Metric Object\n"
      },
      "ms-CubeOptions" : {
        "title" : "Cube Options",
        "required" : [ "dataPartition", "dataRefresh" ],
        "type" : "object",
        "properties" : {
          "dataLanguages" : {
            "$ref" : "#/components/schemas/ms-DataLanguages"
          },
          "dataRefresh" : {
            "$ref" : "#/components/schemas/ms-EnumDSSCubeRepublishBehaviorType"
          },
          "dataPartition" : {
            "$ref" : "#/components/schemas/ms-DataPartition"
          }
        },
        "description" : "Object speicifies the behavior the cube. Language setting is only supported for normal cube.\n"
      },
      "ms-CubeAdvancedProperties" : {
        "title" : "Cube Advanced Properties",
        "required" : [ "vldbProperties" ],
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          },
          "metricJoinTypes" : {
            "$ref" : "#/components/schemas/ms-MetricJoinTypes"
          },
          "attributeJoinTypes" : {
            "$ref" : "#/components/schemas/ms-AttributeJoinTypes"
          }
        },
        "description" : "Advanced Properties of the cube. For normal cube, VLDB properties, metric join types and attribute join types are required. For FFSQL cube, only VLDB properties are required.\n"
      },
      "ms-TimeBased" : {
        "title" : "Time-based settings.",
        "type" : "object",
        "properties" : {
          "timezone" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "Reference to user's timezone object, if default it should be set to null\n"
            }, {
              "nullable" : true
            } ]
          },
          "calendar" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "Reference to user's calendar object, if default it should be set to null\n"
            }, {
              "nullable" : true
            } ]
          },
          "enableTimezoneAndCalendarReporting" : {
            "type" : "boolean",
            "description" : "Boolean describing whether to enable timezone and calendar reporting or not\n",
            "default" : true
          }
        },
        "description" : "Object contain settings of timezone and calendar.\n"
      },
      "ms-ExpressionNode" : {
        "title" : "Any Node",
        "required" : [ "type" ],
        "properties" : {
          "expressionType" : {
            "type" : "string",
            "description" : "The expression type of an expression node.\nWhen writing back to the object, this value should be acquired from the expressions validate call\n",
            "default" : "generic",
            "enum" : [ "dynamic", "static", "generic", "filter_single_base_form_qual", "filter_multi_base_form_qual", "filter_joint_form_qual", "filter_list_qual", "filter_list_form_qual", "filter_joint_list_qual", "filter_joint_list_form_qual", "filter_single_base_form_expression", "filter_single_metric_qual", "filter_multi_metric_qual", "filter_metric_expression", "filter_embed_qual", "filter_branch_qual", "filter_relationship_qual", "filter_all_attribute_qual", "filter_attribute_id_qual", "filter_attribute_desc_qual", "agg_metric", "banding", "filter_report_qual", "mdx_sap_variable", "sql_query_qual", "canceled_prompt", "element_list", "element_single", "form_of_this_attribute", "csi_update", "csi_insert", "csi_delete", "csi_group" ]
          },
          "dimtyType" : {
            "type" : "string",
            "description" : "The dimty type of an expression node.\nWhen writing back to the object, this value should be acquired from the expressions validate call\n",
            "default" : "none",
            "enum" : [ "none", "continuation", "exclusive_continuation", "output_level", "break_by", "embedded", "unspecified", "parameter" ]
          },
          "dependenceType" : {
            "type" : "string",
            "description" : "The dependence type of an expression node.\nWhen writing back to the object, this value should be acquired from the expressions validate call\n",
            "default" : "dependent",
            "enum" : [ "default", "independent", "dependent" ]
          }
        },
        "description" : "A single node that is used to build up an expression.\nWe have a number of different types of expression node, one for each building block that can\nappear in an expression.  This schema represents any one of these kinds of nodes.\n\nSome of these nodes (the ones beginning with `predicate...`) are only used within filters and security filter.\nPredicates represent part of the filter expression tree that are treated as a single node.\n\nFilter support all kinds of predicates but bandings.\nSecurity Filter support five types of predicates, including PredicateCustomExpression,\nPredicateJointElementList, PredicateElementList, PredicateForm, PredicateFilter.\nCustom Group supports all kinds of predicates.\n",
        "example" : {
          "type" : "columnReference",
          "columnName" : "TOTAL_COST",
          "objectId" : "7A4ABE9111D5AC6FC000D98A4CC5F24F"
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "predicate_custom" : "PredicateCustomExpression",
            "predicate_metric_qualification" : "PredicateMetric",
            "predicate_relationship" : "PredicateRelationship",
            "predicate_joint_element_list" : "PredicateJointElementList",
            "predicate_element_list" : "PredicateElementList",
            "predicate_form_qualification" : "PredicateForm",
            "predicate_filter_qualification" : "PredicateFilter",
            "predicate_report_qualification" : "PredicateReport",
            "predicate_prompt_qualification" : "PredicatePrompt",
            "operator" : "ExpressionNodeOperator",
            "object_reference" : "ExpressionNodeObjectReference",
            "column_reference" : "ExpressionNodeColumnReference",
            "constant" : "ExpressionNodeConstant",
            "dynamic_date_time" : "ExpressionNodeDynamicDateTime",
            "form_shortcut" : "ExpressionNodeFormShortcut",
            "relationship" : "ExpressionNodeRelationship",
            "predicate_banding_size" : "BandingSize",
            "predicate_banding_count" : "BandingCount",
            "predicate_banding_points" : "BandingPoints",
            "predicate_banding_distinct" : "BandingDistinct"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateCustomExpression"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateMetric"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateRelationship"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateJointElementList"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateElementList"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateForm"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateFilter"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateReport"
        }, {
          "$ref" : "#/components/schemas/ms-PredicatePrompt"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeOperator"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeObjectReference"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeColumnReference"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeConstant"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeDynamicDateTime"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeFormShortcut"
        }, {
          "$ref" : "#/components/schemas/ms-ExpressionNodeRelationship"
        }, {
          "$ref" : "#/components/schemas/ms-BandingSize"
        }, {
          "$ref" : "#/components/schemas/ms-BandingCount"
        }, {
          "$ref" : "#/components/schemas/ms-BandingPoints"
        }, {
          "$ref" : "#/components/schemas/ms-BandingDistinct"
        } ]
      },
      "ms-ExpressionToken" : {
        "title" : "Parser Token",
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "The raw text represented by this token.\n\nGenerally this text is the same as the text that the user initially typed.\nIn a few cases the parser may have removed some verbiage.\n"
          },
          "type" : {
            "type" : "string",
            "description" : "Enumeration constant that classifies the text within this token",
            "enum" : [ "end_of_text", "error", "unknown", "empty", "character", "literal", "identifer", "string_literal", "integer", "float", "boolean", "guid", "object_reference", "column_reference", "object_at_form", "function", "keyword", "other" ]
          },
          "level" : {
            "type" : "string",
            "description" : "Describe the amount of processing performed on this parser token",
            "readOnly" : true,
            "enum" : [ "client", "lexed", "resolved", "parsed" ]
          },
          "state" : {
            "type" : "string",
            "description" : "Whether token in an error or not",
            "readOnly" : true,
            "enum" : [ "error", "initial", "okay" ]
          },
          "target" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoAll"
            }, {
              "description" : "If the token represents an object, provide information about the object"
            } ]
          },
          "attributeForm" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "If the token represents an attribute form in the context of an object\n(say `City@DESC`) then provide information about the attribute form.\n"
            } ]
          }
        },
        "description" : "Structure that represents a fragment of text that should be handled as one entity when parsing.\n\nThe expression parser annotates the text it parses by converting it into an array of _token_ objects.\nThese objects are used for several purposes:\n* They allow us to record extra information (generally the identity of an object) that is not explicitly\n  shown in the raw text.  Thus once we have disambiguated a name, it is not necessary to do so again.\n* They permit a GUI to reformat the text (using colour, type-face etc.) to make it easier to understand\n  the expression.\n* They allow the parser to report the location of parse errors within the raw text.\n"
      },
      "ms-ApplicablePropertyOptions" : {
        "title" : "Option object for applicable property",
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "Option value which can be internationalized."
          },
          "sqlPreview" : {
            "type" : "string",
            "description" : "SQL preview which can be internationalized."
          }
        },
        "description" : "An option object for applicable properties contains a value and a sql preview. The value of each option corresponds to an index in the options array where the option appears."
      },
      "ms-EnumVariantType" : {
        "title" : "Variant Type",
        "type" : "string",
        "description" : "String literal used to identify the type of a variant value",
        "enum" : [ "int32", "int64", "date", "time", "boolean" ]
      },
      "ms-TargetCube" : {
        "title" : "Incremental Refresh Report Target Cube",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object"
          }
        },
        "description" : "A reference to an Intelligence Cube. Executing the Incremental Refresh Report will update this Intelligence Cube.\n",
        "example" : {
          "objectId" : "12345678901234567890123456789012",
          "subType" : "report_cube",
          "name" : "an intellingence cube"
        }
      },
      "ms-EnumIncrementType" : {
        "title" : "Incremental Refresh Report Increment Type",
        "type" : "string",
        "description" : "The increment type specifies the execution way of incremental refresh report:\n  - `filter`: use the report filter of the incremental refresh report and target Intelligence Cube's template during execution. The report template of incremental refresh report will be disabled.\n  - `report`: use both the template and the filter of incremental refresh report during execution. This option will not work for refreshType `replace`.\n",
        "enum" : [ "filter", "report" ]
      },
      "ms-EnumRefreshType" : {
        "title" : "Incremental Refresh Report Refresh Type",
        "type" : "string",
        "description" : "The refresh type specifies how to update target cube:\n  - `update`: insert new rows from report data and overwrite overlapping rows between old cube data and report data.\n  - `insert`: only insert new, non-overlapping rows from report data.\n  - `delete`: remove overlapping rows from old cube data.\n  - `update_only`: only overwrite overlapping rows from report data.\n  - `replace`: delete rows of old cube data using report filter and replace with report data. Can't be used to update a FFSQL cube.\n",
        "enum" : [ "update", "insert", "delete", "update_only", "replace" ]
      },
      "ms-InnerTemplateForIncrementalRefreshReport" : {
        "title" : "Inner Template",
        "required" : [ "columns", "pageBy", "rows" ],
        "type" : "object",
        "properties" : {
          "rows" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          },
          "columns" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          },
          "pageBy" : {
            "$ref" : "#/components/schemas/ms-TemplateUnits"
          }
        },
        "description" : "Object that specifies an _incremental refresh report tempate_. An incremental refresh report template defines a layout of general categories of information to refresh the target cube. In an incremental refresh report template, you specify the information that you want to retrieve form your data source, and the information is used to refresh the target cube.\n\nThe units in the Incremental Refresh Report template don't support the types of _custom_group_, _consolidation_, _prompt_ and _raw_unit_.\n"
      },
      "ms-IncrementalRefreshReportAdvancedProperties" : {
        "title" : "Incremental Refresh Report Advanced Properties",
        "type" : "object",
        "properties" : {
          "vldbProperties" : {
            "$ref" : "#/components/schemas/ms-VLDBProperties"
          },
          "metricJoinTypes" : {
            "$ref" : "#/components/schemas/ms-MetricJoinTypes"
          },
          "attributeJoinTypes" : {
            "$ref" : "#/components/schemas/ms-AttributeJoinTypes"
          }
        },
        "description" : "Advanced Properties of the Incremental Refresh Report.\n"
      },
      "ms-FormGroup" : {
        "title" : "Form Group",
        "description" : "The Attribute Form Group Object\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-AttributeForm"
        }, {
          "type" : "object",
          "properties" : {
            "childForms" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-FormReference"
              }
            }
          }
        } ]
      },
      "ms-FormSimple" : {
        "title" : "Simple Form",
        "description" : "The Simple Attribute Form Object\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-AttributeForm"
        }, {
          "type" : "object",
          "properties" : {
            "displayFormat" : {
              "type" : "string",
              "enum" : [ "number", "text", "picture", "url", "email", "html_tag", "date", "time", "symbol", "phone_number" ]
            },
            "dataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "expressions" : {
              "$ref" : "#/components/schemas/ms-AttributeFormExpressionModules"
            },
            "alias" : {
              "type" : "string"
            },
            "lookupTable" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        } ]
      },
      "ms-SemanticRole" : {
        "title" : "Semantic Role",
        "type" : "string",
        "enum" : [ "none", "city", "state", "country", "location", "latitude", "longitude", "zip_code", "county", "area_code", "geometry", "other", "date", "time", "geo", "datetime", "year", "quarter", "month", "weekday", "general_time", "person", "name", "age", "gender", "birthday", "education", "email", "phoneno", "url", "automatic", "fixed", "currency", "scientific", "fraction", "percentage" ]
      },
      "ms-AttributeSortElement" : {
        "title" : "Attribute Sort Element",
        "properties" : {
          "form" : {
            "$ref" : "#/components/schemas/ms-FormReference"
          },
          "ascending" : {
            "type" : "boolean",
            "default" : false
          }
        },
        "description" : "An individual sort element in an `AttributeSorts` list.\n"
      },
      "ms-VLDBProperties" : {
        "title" : "VLDB Properties",
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/ms-VLDBProperty"
        },
        "description" : "VLDB Properties of an object. If we set the VLDBProperty object in the map to be \"null\", the corresponding property will be set to default.\n"
      },
      "ms-ObjectAccessControlEntry" : {
        "title" : "Access Control Entry",
        "required" : [ "isGranted", "rights", "trustee" ],
        "type" : "object",
        "properties" : {
          "trustee" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "The user or user group whose rights are modified by this entry"
            } ]
          },
          "rights" : {
            "type" : "array",
            "description" : "The access rights granted or denied by this access control entry",
            "items" : {
              "$ref" : "#/components/schemas/ms-EnumAccessRight"
            }
          },
          "isGranted" : {
            "description" : "Whether this entry grants (`1`) or denies (`0`) the `rights` to the `trustee`.\n"
          }
        },
        "description" : "Object that specifies a security restriction that is applied to a single object.\n\nAn access control entry specified that a specific _trustee_ (either a _user_ or a _user group_)\nis either granted or denied a specific kind of access to this object.\n"
      },
      "ms-ExpressionModule" : {
        "title" : "Fact Expression",
        "required" : [ "expression", "tables" ],
        "type" : "object",
        "properties" : {
          "expressionId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "tables" : {
            "type" : "array",
            "description" : "Array with a member object for each logical table that computes a value for this fact\nby evaluating the expression.\n\nThis array should be non-empty for a fact that is saved into metadata,\nbut may be empty during an edit changeset.\nThe order of the tables within the array has no significance.\n",
            "example" : [ {
              "objectId" : "8D6793D811D3E4981000E787EC6DE8A4",
              "subType" : "logicalTable",
              "name" : "ORDER_TRANSACTION"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "potentialTables" : {
            "type" : "array",
            "description" : "Array with a member object for each logical table that does not currently use\nthis fact expression, but for which the expression would be valid.\n\nWe say that a table is valid for an expression if, for every column name that appears in\nthe expression, the table has a column with the same name.\nIt is possible both for this array to be empty and for the content of this array to change\nwith changing the fact object.\nThe order of the tables within the array has no significance.\n\nSince this array is relatively expensive to compute (any of the tables in the schema might\nsupport an expression) this array is omitted by default.  A query must be passed in to specify\nwhen a client is interested in saying this array.\n",
            "readOnly" : true,
            "example" : [ {
              "objectId" : "8D6793D411D3E4981000E787EC6DE8A4",
              "subType" : "logicalTable",
              "name" : "ORDER_FACT"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "Object that gives information about an expression that is in use by a fact.\nNaturally the most important part of a fact expression is the expression.\nThis is often just a single column reference, but more complex expressions are supported.\nThe object also lists those tables where the expression is currently used or where it\ncould be used.\n\nWe say that a table _supports_ a fact if it is possible to compute a value for the fact by\nmeans of a `SELECT` expression for each row of the table.  The expression represents a\n`SELECT` expression.\n"
      },
      "ms-isLogicalSizeLocked" : {
        "type" : "string",
        "description" : "Field to indicate whether the logical table size of a table is locked or not. When a table’s logical size is locked, the table is excluded from the logical table size calculation when a schema update is performed.\n"
      },
      "ms-MDPartitionBaseTableInfoAdd" : {
        "title" : "Metadata Partition Base Table Definition",
        "required" : [ "information" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "required" : [ "objectId" ],
            "type" : "object",
            "properties" : {
              "objectId" : {
                "type" : "string",
                "description" : "the object ID of an existing logical table"
              }
            }
          },
          "partitionFilter" : {
            "$ref" : "#/components/schemas/ms-PartitionFilter"
          }
        },
        "description" : "body of metadata partition base table"
      },
      "ms-EnumDSSHANAVValType" : {
        "type" : "string",
        "description" : "SAP HANA value type.",
        "enum" : [ "default", "attribute_value", "currency", "date", "static_list", "empty" ]
      },
      "ms-EnumDSSHANAVSelType" : {
        "type" : "string",
        "description" : "SAP HANA selection type.",
        "enum" : [ "default", "single_value", "interval", "range" ]
      },
      "ms-EnumDSSDataType" : {
        "type" : "string",
        "enum" : [ "reserved", "integer", "unsigned", "numeric", "decimal", "real", "float", "char", "fixed_length_string", "variable_length_string", "binary", "var_bin", "longVarBin", "date", "time", "time_stamp", "short", "long", "mb_char", "bool", "pattern", "cell_format_data", "missing", "n_char", "n_var_char", "n_pattern", "utf8_char", "int64", "guid", "double_double", "last_one" ]
      },
      "ms-Columns" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/ms-StructColumn"
        }
      },
      "ms-PartitionFilter" : {
        "type" : "object",
        "properties" : {
          "qualification" : {
            "$ref" : "#/components/schemas/ms-PartitionFilterExpression"
          }
        },
        "description" : "The partition filter."
      },
      "ms-PromptQuestionElements" : {
        "title" : "the question part for attribute element prompt",
        "description" : "This defines the question for attribute element prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestion"
        }, {
          "type" : "object",
          "properties" : {
            "attribute" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "listAllElements" : {
              "type" : "boolean",
              "description" : "whether this is list all the elements",
              "default" : false
            },
            "filter" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "predefinedObjects" : {
              "type" : "array",
              "description" : "the predefined hierarchy list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-PromptQuestionObjects" : {
        "title" : "the question part for object prompt",
        "description" : "This defines the question for object prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestion"
        }, {
          "type" : "object",
          "properties" : {
            "search" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "predefinedObjects" : {
              "type" : "array",
              "description" : "the predefined object list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-PromptQuestionExpressionMetric" : {
        "title" : "the question part for expression metric prompt",
        "description" : "This defines the question for expression metric prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestion"
        }, {
          "type" : "object",
          "properties" : {
            "search" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "predefinedObjects" : {
              "type" : "array",
              "description" : "the predefined metric list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-PromptQuestionExpressionAttribute" : {
        "title" : "the question part for expression attribute prompt",
        "description" : "This defines the question for expression attribute prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestion"
        }, {
          "type" : "object",
          "properties" : {
            "search" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "predefinedObjects" : {
              "type" : "array",
              "description" : "the predefined attribute list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            },
            "diplayForms" : {
              "type" : "string",
              "description" : "display form type",
              "enum" : [ "all_forms", "browse_forms", "report_display_forms", "custom_forms" ]
            },
            "custForms" : {
              "type" : "array",
              "description" : "the cust forms that user selects",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-PromptQuestionExpressionHierarchy" : {
        "title" : "the question part for expression hierarchy prompt",
        "description" : "This defines the question for expression hierarchy prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptQuestion"
        }, {
          "type" : "object",
          "properties" : {
            "search" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "predefinedObjects" : {
              "type" : "array",
              "description" : "the predefined hierarchy list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            },
            "diplayForms" : {
              "type" : "string",
              "description" : "display form type",
              "enum" : [ "all_forms", "browse_forms", "report_display_forms" ]
            },
            "listAllHierarchies" : {
              "type" : "boolean",
              "description" : "whether this is list all the hierarchies",
              "default" : false
            }
          }
        } ]
      },
      "ms-PromptDefaultAnswerValue" : {
        "title" : "the default answer part for value prompt",
        "description" : "This defines the default answer for value prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "object",
              "description" : "the value for prompt"
            }
          }
        } ]
      },
      "ms-PromptDefaultAnswerElements" : {
        "title" : "the default answer part for attribute element prompt",
        "description" : "This defines the default answer for attribute element prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "elements" : {
              "type" : "array",
              "description" : "the element list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ElementConcrete"
              }
            }
          }
        } ]
      },
      "ms-PromptDefaultAnswerObjects" : {
        "title" : "the default answer part for object prompt",
        "description" : "This defines the default answer for object prompt",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "objects" : {
              "type" : "array",
              "description" : "the object list",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        } ]
      },
      "ms-PromptDefaultAnswerExpression" : {
        "title" : "the default answer part for expression prompt",
        "description" : "This defines the default answer for expression prompt. The default answer is an expression which composed by predicates. For the predicate type, we only support predicate_form_qualification, predicate_element_list, predicate_metric_qualification.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PromptDefaultAnswer"
        }, {
          "type" : "object",
          "properties" : {
            "qualification" : {
              "$ref" : "#/components/schemas/ms-Expression"
            }
          }
        } ]
      },
      "ms-FormatProperty" : {
        "title" : "Format property",
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ms-FormatType"
          },
          "value" : {
            "type" : "string"
          }
        },
        "description" : "Format property\n"
      },
      "ms-DrillOptions" : {
        "title" : "Drill Options",
        "type" : "object",
        "properties" : {
          "setName" : {
            "type" : "string",
            "description" : "A string to help classify the drill path. Drill paths with the same setName will be grouped into the same set",
            "default" : ""
          },
          "inheritVLDB" : {
            "type" : "boolean",
            "description" : "A flag to control if the new report's VLDB properties are impacted by the source report",
            "default" : true
          },
          "keepParent" : {
            "type" : "boolean",
            "description" : "A flag to control whether to keep the selected template unit after drilling",
            "default" : false
          },
          "keepThreshold" : {
            "type" : "boolean",
            "description" : "A flag to control whether to keep thresholds in the result report. Only available if the drill path's type is not 'template'",
            "default" : false
          },
          "keepPageBy" : {
            "type" : "boolean",
            "description" : "A flag to control whether to keep page-by while drilling to template",
            "default" : false
          },
          "keepBaseTemplate" : {
            "type" : "boolean",
            "description" : "A flag to control whether to keep the base template",
            "default" : false
          },
          "applyUserFilter" : {
            "type" : "boolean",
            "description" : "A flag to control whether to apply the filter created by the user's selection",
            "default" : true
          },
          "applyReportFilter" : {
            "type" : "boolean",
            "description" : "A flag to control whether to apply the original report filter",
            "default" : true
          },
          "includeOtherFilter" : {
            "type" : "string",
            "description" : "A flag to control whether to consider other filter qualifications when resolving metric qualifications in the result report. \nNot available if either applyUserFilter or applyReportFilter is set to false\n",
            "default" : "default",
            "enum" : [ "default", "yes", "no" ]
          },
          "displayMode" : {
            "type" : "string",
            "description" : "Default report view mode for the new report after drilling. Only available if the drill path's type is 'template'",
            "default" : "default",
            "enum" : [ "default", "grid", "graph", "grid_graph" ]
          },
          "additionalFilter" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "Object that specifies _drill options_.\n\nA Drill Options object is a collection of options that defines the drilling behavior of a drill path\n"
      },
      "ms-ObjectTranslation" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The unique identifier of the translation."
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "description" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "alias" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "forms" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-ObjectTranslation"
            },
            "description" : "Translations for attribute forms (specific to attribute translation)."
          }
        },
        "description" : "Object translation representation model for multi-language support."
      },
      "ms-AllOtherElement" : {
        "title" : "All other derived element",
        "description" : "All other derived element collects all atrribute elements that are not included in other derived elements, and display them on the report as individual attribute elements by default.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DerivedElementElementBase"
        } ]
      },
      "ms-CalculationElement" : {
        "title" : "Calculation derived element",
        "required" : [ "expression" ],
        "description" : "A calculation derived element uses functions to combine attribute elements and derived elements into calculations that define a single derived element.\nCalculation derived elements are created by defining expressions with valid combinations of functions, attribute elements, and derived elements.\nYou can include the following when you create a Calculation derived element expression:\n\n- Attribute elements\n- Derived elements\n- Constant\n- Functions: You can include `abs`, `add`, `average`, `greatest`, `least`, `plus`, `minus`, `times`, and `divide`\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DerivedElementElementBase"
        }, {
          "type" : "object",
          "properties" : {
            "expression" : {
              "required" : [ "tree" ],
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              } ]
            }
          }
        } ]
      },
      "ms-FilterElement" : {
        "title" : "Filter derived element",
        "required" : [ "qualification" ],
        "description" : "A filter derived element uses a filter qualification to determine the combination of attribute elements for a derived element. Filter derived elements are created by filtering\nattribute elements to include in each derived element. There are two methods to create Filter derived elements:\n\n1. Create a Filter derived element using a filter qualification on a list of attribute elements. This includes using the In list and Not in List operators.\n\n2. Create a Filter derived element using a filter qualification on attribute forms. You can use various logical and mathematical operators to create filter qualifications\non attribute forms to return data.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DerivedElementElementBase"
        }, {
          "type" : "object",
          "properties" : {
            "qualification" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              }, {
                "description" : "A generic specification for a calculation stored within a metadata object.\nThe expression is represented as a tree over nodes.  Most internal nodes\n(called _operator_ nodes) are defined by applying a function to the operator's child nodes.\n\nAn expression must be non-empty. For `tree` nodes, only _Element List Predicate_ and _Attribute Form Predicate_ are supported.\n"
              } ]
            }
          }
        } ]
      },
      "ms-ListElement" : {
        "title" : "List derived element",
        "required" : [ "elements" ],
        "description" : "A list derived element is also called a group derived element. It is a combination of attribute elements into a single derived element. All attribute element data is added together to\nform the metric values for the new list derived element.\nList derived elements can only combine attribute elements, they cannot combine other derived elements. If you want to create a derived element that is a combination of other derived\nelements, you must use a Calculation derived element.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DerivedElementElementBase"
        }, {
          "type" : "object",
          "properties" : {
            "text" : {
              "type" : "string",
              "description" : "text of this element"
            },
            "elements" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ElementConcrete"
              }
            }
          }
        } ]
      },
      "ms-DimtyUnit" : {
        "title" : "DimtyUnit",
        "type" : "object",
        "properties" : {
          "dimtyUnitType" : {
            "type" : "string",
            "enum" : [ "default", "attribute", "dimension", "report_level", "report_base_level", "role" ]
          },
          "target" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "aggregation" : {
            "type" : "string",
            "enum" : [ "normal", "first_in_fact", "last_in_fact", "first_in_relationship", "last_in_relationship" ]
          },
          "filtering" : {
            "type" : "string",
            "enum" : [ "apply", "absolute", "ignore", "none" ]
          },
          "groupBy" : {
            "type" : "boolean",
            "default" : false
          },
          "relativePosition" : {
            "type" : "integer"
          },
          "axisCollection" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "integer"
            }
          }
        },
        "description" : "Object that specifies the dimty unit.\n"
      },
      "ms-BaseAttribute" : {
        "title" : "baseAttribute",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "type" : "string",
            "enum" : [ "attribute" ]
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "Object that specifies the base attribute of the transformation attribute.\n"
      },
      "ms-TransformationAttributeForm" : {
        "title" : "transformationAttributeForm",
        "type" : "object",
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "type" : "string"
          },
          "lookupTable" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          }
        },
        "description" : "Object that specifies the transformation attribute form."
      },
      "ms-DataSourceForNewSubsetReport" : {
        "title" : "Data Source for Subset Report",
        "required" : [ "cube" ],
        "type" : "object",
        "properties" : {
          "cube" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "The data source of a subset report only contains a cube object reference. The cube need to be published before it is used as data source."
      },
      "ms-DataSourceForFFSQLReport" : {
        "title" : "Data Source for FFSQL Report",
        "type" : "object",
        "properties" : {
          "dataTemplate" : {
            "$ref" : "#/components/schemas/ms-DataTemplate"
          },
          "table" : {
            "$ref" : "#/components/schemas/ms-XdaLogicalTable"
          }
        },
        "description" : "The dataTemplate definition describes what data you want to include into the report. You are able to add the references of attributes, metrics, prompts, and so on.\nThe table provides the definition of report's logical table, which includes physicalTable, attributes, metrics and dataSource.\n"
      },
      "ms-DataSourceForNormalReport" : {
        "title" : "Data Source for Normal Report",
        "type" : "object",
        "properties" : {
          "dataTemplate" : {
            "$ref" : "#/components/schemas/ms-DataTemplate"
          },
          "filter" : {
            "title" : "Report Filter",
            "oneOf" : [ {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              }, {
                "title" : "Embedded Filter"
              } ]
            }, {
              "title" : "Standalone Filter",
              "type" : "object",
              "properties" : {
                "standaloneFilter" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                }
              }
            } ]
          }
        },
        "description" : "The dataTemplate definition describes what data you want to include into the report. You are able to add the references of attributes, metrics, prompts, and so on.\nBy defining a report filter, the data will be filtered accordingly when you retrieve your data from data warehouse.\n"
      },
      "ms-ViewTemplate" : {
        "title" : "Report view template",
        "type" : "object",
        "properties" : {
          "rows" : {
            "$ref" : "#/components/schemas/ms-TemplateAxis"
          },
          "columns" : {
            "$ref" : "#/components/schemas/ms-TemplateAxis"
          },
          "pageBy" : {
            "$ref" : "#/components/schemas/ms-TemplateAxis"
          },
          "drillMap" : {
            "$ref" : "#/components/schemas/ms-DrillMapReference"
          },
          "subtotals" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TemplateSubtotal"
            }
          }
        },
        "description" : "Describes the rows and columns presented or hidden in report's grid, as well as how they are sorted (i.e. \"sorts\" field) and aggregated (i.e. \"subtotals\" and \"pageby\" fields).\n"
      },
      "ms-MetricJoinTypes" : {
        "title" : "Metric Join Types",
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/ms-MetricJoinType"
        },
        "description" : "Metric Join Types of a cube/report/IRR.\n"
      },
      "ms-AttributeJoinTypes" : {
        "title" : "Attribute Join Types",
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/ms-AttributeJoinType"
        },
        "description" : "Attribute Join Types of a cube/report/IRR.\n"
      },
      "ms-DrillOptionsSetting" : {
        "title" : "Drill options",
        "type" : "object",
        "properties" : {
          "drillingEnableReportDrilling" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "boolean",
                "description" : "determines whether perform a drill on the report is allowed or not.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingOptions" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "integer",
                "description" : "determines whether restrict the drill direction to drill down only. 1 means allow drill everywhere, 2 means only drill down is allowed.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingKeepParentEx" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "integer",
                "description" : "determines whether the object from which you are drilling is also displayed in the drilled-to report. -1 means yes, 0 means no. 1 means use the drill map's setting.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingThresholds" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "integer",
                "description" : "determines whether applies the threshold to the drilled-to report. -1 means yes, 0 means no. 1 means use the drill map's setting.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingInheritSubtotalsFromParent" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "integer",
                "description" : "determines whether applies the across-level subtotals to the drilled-to report. -1 means yes, 0 means no. 1 means use the drill map's setting.\nAcross-level subtotals are hidden only when all of the following are true:\n  Inherit across-level subtotal from parent is set to No.\n  Keep parent while drilling is set to No.\n  You drill from the object that is the level of the subtotal.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingPageByToFilter" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "boolean",
                "description" : "determines whether add any page by field of the report to the filter during drilling\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingPageByAllElements" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "boolean",
                "description" : "0 means the current page-by element is added to the filter when drilling. 1 means the page-by element is added to the filter when you drill from all the page-by fields of the report.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingPageByToFilterBody" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "boolean",
                "description" : "determines whether add any other part of the report to the filter during drilling\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingFilterOption" : {
            "type" : "object",
            "properties" : {
              "value" : {
                "type" : "integer",
                "description" : "allow you to select what elements are included in the filter when drilling:\n  0 means include in the filter only elements of attributes positioned to the left of or above the selected attribute element(s).\n  1 means include in the filter all highlighted attribute elements.\n"
              },
              "resolvedLocation" : {
                "type" : "string",
                "description" : "The location where the property value is resolved",
                "readOnly" : true,
                "allOf" : [ {
                  "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
                } ]
              },
              "isInherited" : {
                "$ref" : "#/components/schemas/ms-isInherited"
              }
            }
          },
          "drillingAttributeJoinTypes" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ms-AttributeJoinType"
            }
          }
        },
        "description" : "Drill options define various settings when performing a drill on the report.\n"
      },
      "ms-PromptOrdering" : {
        "title" : "Prompt Ordering",
        "type" : "array",
        "description" : "A list of prompt information in the order that will be resolved when the report is executed.\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-PromptOrderInfo"
        }
      },
      "ms-DataSourceForSubsetReport" : {
        "title" : "Data Source for Subset Report",
        "type" : "object",
        "properties" : {
          "cube" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          }
        },
        "description" : "The data source of a subset report only contains a cube object reference. The cube need to be published before it is used as data source."
      },
      "ms-TransactionReportPhysicalTable" : {
        "title" : "Transaction report physical table",
        "required" : [ "columns", "sqlExpression" ],
        "type" : "object",
        "properties" : {
          "columns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransactionReportColumn"
            }
          },
          "sqlExpression" : {
            "required" : [ "tree" ],
            "type" : "object",
            "properties" : {
              "tree" : {
                "$ref" : "#/components/schemas/ms-ExpressionNode"
              }
            }
          }
        },
        "description" : "Metadata creates a physical table based on free-form SQL.\n"
      },
      "ms-TransactionReportAttribute" : {
        "title" : "Transaction Report Attribute",
        "required" : [ "forms" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute ID\n\nThe ID can be:\n* the object ID of a managed attribute.\n* the object ID of a standalone attribute.\n"
          },
          "name" : {
            "type" : "string"
          },
          "forms" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-TransactionReportAttributeForm"
            }
          }
        },
        "description" : "The Attribute Object Whose Forms Mapped to Transaction Report Columns\n"
      },
      "ms-TransactionReportMetric" : {
        "title" : "Transaction Report Metric",
        "required" : [ "dataType", "expression" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Metric ID"
          },
          "name" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-TransactionReportColumnReference"
          }
        },
        "description" : "The Metric Object Mapped to a Transaction Report's Column\n"
      },
      "ms-AttributeFormInAttributeInfo" : {
        "title" : "Attribute Form",
        "properties" : {
          "formCategory" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "name" : {
            "type" : "string"
          },
          "dataFormat" : {
            "type" : "string"
          },
          "isKeyForm" : {
            "type" : "boolean"
          },
          "lookupTable" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "semanticRole" : {
            "$ref" : "#/components/schemas/ms-SemanticRole"
          }
        }
      },
      "ms-TranslationValue" : {
        "title" : "Translation Value",
        "type" : "object",
        "properties" : {
          "translation" : {
            "type" : "string",
            "description" : "The translation"
          }
        }
      },
      "ms-FormTranslations" : {
        "title" : "Attribute Form Translations",
        "type" : "object",
        "properties" : {
          "name" : {
            "$ref" : "#/components/schemas/ms-Translations"
          },
          "description" : {
            "$ref" : "#/components/schemas/ms-Translations"
          }
        }
      },
      "ms-DataModelAttributeFormSimple" : {
        "title" : "Data Model Attribute Simple Form",
        "description" : "The Simple Attribute Form Object in Data Model\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-DataModelAttributeForm"
        }, {
          "type" : "object",
          "properties" : {
            "displayFormat" : {
              "type" : "string",
              "enum" : [ "number", "text", "picture", "url", "email", "html_tag", "date", "time", "symbol", "phone_number" ]
            },
            "dataType" : {
              "$ref" : "#/components/schemas/ms-StructDataType"
            },
            "expressions" : {
              "$ref" : "#/components/schemas/ms-AttributeFormExpressionModules"
            },
            "alias" : {
              "type" : "string"
            },
            "lookupTable" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            },
            "pii" : {
              "$ref" : "#/components/schemas/ms-PII"
            }
          }
        } ]
      },
      "ms-StructVariant" : {
        "title" : "Variant",
        "required" : [ "type", "value" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ms-EnumVariantType"
          },
          "value" : {
            "type" : "string",
            "description" : "The value, encoded as a string in a standard, locale-neutral, format."
          }
        },
        "description" : "A typed value.  It is usually an integer or a string.\n\nThe value is represented as a string in a standard format.\nA value type must also be provided to specify the actual data type of the value.\n"
      },
      "ms-FolderWithContent" : {
        "type" : "object",
        "description" : "The folder object representation model for model export and restore.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ObjectInfoBrowse"
        }, {
          "type" : "object",
          "properties" : {
            "primaryLocale" : {
              "type" : "string",
              "description" : "The primary locale of the folder.",
              "example" : "en-US"
            },
            "translations" : {
              "$ref" : "#/components/schemas/ms-ObjectTranslation"
            },
            "acl" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/ms-DataModelObjectAce"
              },
              "example" : {
                "7FD5B69611D5AC76C000D98A4CC5F24F" : {
                  "granted" : 255,
                  "denied" : 0,
                  "name" : "Admin",
                  "subType" : "user"
                },
                "6E069E4C11D3E4E41000E887EC6DE8A4" : {
                  "granted" : 0,
                  "denied" : 255,
                  "name" : "Everyone",
                  "subType" : "user_group"
                }
              }
            },
            "contents" : {
              "type" : "array",
              "description" : "The nested folder contents (recursive structure).",
              "items" : {
                "$ref" : "#/components/schemas/ms-FolderWithContent"
              }
            }
          }
        } ]
      },
      "ms-ReplaceMissingValueOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "replaceMissingValue",
              "enum" : [ "replaceMissingValue" ]
            },
            "columnName" : {
              "type" : "string"
            },
            "function" : {
              "$ref" : "#/components/schemas/ms-ReplaceMissingValueFunctionType"
            },
            "keepDataType" : {
              "type" : "boolean",
              "default" : false
            }
          },
          "description" : "Replace missing values using specified function"
        } ]
      },
      "ms-MassEditOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/mass-edit",
              "enum" : [ "core/mass-edit" ]
            },
            "checkAllColumns" : {
              "type" : "boolean",
              "default" : true
            },
            "columns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "edits" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-Edit"
              }
            },
            "columnName" : {
              "type" : "string",
              "description" : "Column to perform mass edit on"
            },
            "engineConfig" : {
              "$ref" : "#/components/schemas/ms-EngineConfig"
            },
            "expression" : {
              "type" : "string"
            }
          },
          "description" : "Perform batch edits on column values"
        } ]
      },
      "ms-DuplicateColumnOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "duplicateColumn",
              "enum" : [ "duplicateColumn" ]
            },
            "columnName" : {
              "type" : "string",
              "description" : "The column to be duplicated"
            },
            "newColumnName" : {
              "type" : "string",
              "description" : "The column name for new duplicated column"
            }
          },
          "description" : "Create a duplicate of an existing column"
        } ]
      },
      "ms-RowsToColumnsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "rowsToColumns",
              "enum" : [ "rowsToColumns" ]
            },
            "column" : {
              "type" : "string"
            },
            "valueExpressions" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ValueExpression"
              }
            },
            "valueUsedInNewColumnName" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "valueGroupBy" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "newColumnIdMap" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "generatedColumnName2resolvedColumns" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            }
          },
          "description" : "Transform rows into columns (pivot operation)"
        } ]
      },
      "ms-ColumnsToRowsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "columnsToRows",
              "enum" : [ "columnsToRows" ]
            },
            "keyColumnName" : {
              "type" : "string"
            },
            "valueColumnName" : {
              "type" : "string"
            },
            "columns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "keyColumnId" : {
              "type" : "string"
            },
            "valueColumnId" : {
              "type" : "string"
            },
            "valueTypeString" : {
              "type" : "string"
            },
            "valueIsTime" : {
              "type" : "boolean"
            }
          },
          "description" : "Transform columns into rows (pivot operation)"
        } ]
      },
      "ms-ChangeColumnsDatatypeOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "changeColumnsDatatype",
              "enum" : [ "changeColumnsDatatype" ]
            },
            "columns" : {
              "type" : "array",
              "description" : "List of columns with their new data types",
              "items" : {
                "type" : "object",
                "properties" : {
                  "name" : {
                    "type" : "string"
                  },
                  "dataType" : {
                    "$ref" : "#/components/schemas/ms-StructDataType"
                  },
                  "format" : {
                    "type" : "string"
                  },
                  "alternativeFormats" : {
                    "type" : "array",
                    "items" : {
                      "type" : "string"
                    }
                  }
                }
              }
            }
          },
          "description" : "Change data types of specified columns"
        } ]
      },
      "ms-BlankDownOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/blank-down",
              "enum" : [ "core/blank-down" ]
            },
            "columnName" : {
              "type" : "string",
              "description" : "Column to blank down values"
            }
          },
          "description" : "Remove duplicate consecutive values in a column"
        } ]
      },
      "ms-FillDownOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/fill-down",
              "enum" : [ "core/fill-down" ]
            },
            "columnName" : {
              "type" : "string",
              "description" : "Column to fill down values"
            }
          },
          "description" : "Fill empty cells with values from above"
        } ]
      },
      "ms-TextTransformWranglerOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/text-transform-wrangler",
              "enum" : [ "core/text-transform-wrangler" ]
            },
            "method" : {
              "type" : "string"
            },
            "columnName" : {
              "type" : "string"
            },
            "parameters" : {
              "type" : "object",
              "description" : "The parameters for the `method`"
            }
          },
          "description" : "Apply wrangler-specific text transformations"
        } ]
      },
      "ms-CellSplitOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/multivalued-cell-split",
              "enum" : [ "core/multivalued-cell-split" ]
            },
            "columnName" : {
              "type" : "string"
            },
            "separator" : {
              "type" : "string"
            }
          },
          "description" : "Split multivalued cells into separate rows"
        } ]
      },
      "ms-SplitColumnOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "splitColumn",
              "enum" : [ "splitColumn" ]
            },
            "mode" : {
              "$ref" : "#/components/schemas/ms-SplitMode"
            },
            "separator" : {
              "type" : "string"
            },
            "regex" : {
              "type" : "boolean"
            },
            "maxColumns" : {
              "type" : "integer"
            },
            "fieldLengths" : {
              "type" : "array",
              "items" : {
                "type" : "integer"
              }
            },
            "separatorSolutionInt" : {
              "$ref" : "#/components/schemas/ms-SeparatorMode"
            },
            "betweenParams" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "newColumnNames" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "newColumnIds" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "removeOriginalColumn" : {
              "type" : "boolean"
            },
            "columnName" : {
              "type" : "string"
            }
          },
          "description" : "Split a column into multiple columns"
        } ]
      },
      "ms-TextTransformOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/text-transform",
              "enum" : [ "core/text-transform" ]
            },
            "expression" : {
              "type" : "string",
              "description" : "Transform expression to apply"
            },
            "columnName" : {
              "type" : "string",
              "description" : "Column to transform"
            },
            "onError" : {
              "$ref" : "#/components/schemas/ms-OpenRefineOnError"
            },
            "isStringOp" : {
              "type" : "boolean",
              "default" : true
            }
          },
          "description" : "Apply text transformation using expressions"
        } ]
      },
      "ms-RenameColumnOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/column-rename",
              "enum" : [ "core/column-rename" ]
            },
            "oldColumnName" : {
              "type" : "string",
              "description" : "Current name of the column"
            },
            "newColumnName" : {
              "type" : "string",
              "description" : "New name for the column"
            }
          },
          "description" : "Rename a column to a new name"
        } ]
      },
      "ms-ExtractColumnOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "extractColumn",
              "enum" : [ "extractColumn" ]
            },
            "separatorSolutionInt" : {
              "type" : "integer",
              "description" : "Set the separator solution using integer\n  - 0: onSeparator\n  - 1: beforeSeparator\n  - 3: afterSeparator\n  - 5: byFixedLength\n",
              "enum" : [ 0, 1, 3, 5 ]
            },
            "separator" : {
              "type" : "string"
            },
            "separator2" : {
              "type" : "string"
            },
            "regex" : {
              "type" : "boolean"
            },
            "regex2" : {
              "type" : "boolean"
            },
            "columnName" : {
              "type" : "string"
            },
            "newColumnName" : {
              "type" : "string"
            },
            "newColumnId" : {
              "type" : "string"
            }
          },
          "description" : "Extract data from a column using separators or regex"
        } ]
      },
      "ms-KeepColumnsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "keepColumns",
              "enum" : [ "keepColumns" ]
            },
            "columnNames" : {
              "type" : "array",
              "description" : "Set of column names to keep",
              "items" : {
                "type" : "string"
              }
            }
          },
          "description" : "Keep only the specified columns, remove all others"
        } ]
      },
      "ms-MergeColumnsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "mergeColumns",
              "enum" : [ "mergeColumns" ]
            },
            "columnNames" : {
              "type" : "array",
              "description" : "List of columns to merge",
              "items" : {
                "type" : "string"
              }
            },
            "glue" : {
              "type" : "string",
              "description" : "Separator string to join column values"
            }
          },
          "description" : "Merge multiple columns into a single column"
        } ]
      },
      "ms-DropColumnsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/column-removal",
              "enum" : [ "core/row-removal" ]
            },
            "columnName" : {
              "type" : "string",
              "description" : "Single column name to drop"
            },
            "columnNames" : {
              "type" : "array",
              "description" : "List of column names to drop",
              "items" : {
                "type" : "string"
              }
            }
          },
          "description" : "Remove specified columns"
        } ]
      },
      "ms-DeleteRowsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/row-removal",
              "enum" : [ "core/row-removal" ]
            },
            "checkAllColumns" : {
              "type" : "boolean",
              "default" : true
            },
            "columns" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "engineConfig" : {
              "$ref" : "#/components/schemas/ms-EngineConfig"
            },
            "invert" : {
              "type" : "boolean",
              "default" : false
            }
          },
          "description" : "Delete rows based on specified criteria"
        } ]
      },
      "ms-RemoveDuplicateRowsOperation" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-OperationBase"
        }, {
          "type" : "object",
          "properties" : {
            "op" : {
              "type" : "string",
              "example" : "core/row-deduplicate",
              "enum" : [ "core/row-deduplicate" ]
            },
            "mode" : {
              "$ref" : "#/components/schemas/ms-DeduplicateRowsMode"
            },
            "columnName" : {
              "type" : "string",
              "description" : "Single column name for deduplication (higher priority than columnNames)"
            },
            "columnNames" : {
              "type" : "array",
              "description" : "List of column names for deduplication",
              "items" : {
                "type" : "string"
              }
            }
          },
          "description" : "Remove duplicate rows based on specified columns"
        } ]
      },
      "ms-dataServerSemanticRole" : {
        "type" : "string",
        "description" : "Semantic role classification for data columns",
        "default" : "none",
        "enum" : [ "reserved", "none", "city", "state", "country", "location", "latitude", "longitude", "zip_code", "country", "area_code", "geometry", "other", "date", "time", "geo" ]
      },
      "ms-dataServerObjectIdName" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Human-readable name"
          }
        },
        "description" : "Base object with identifier and name properties"
      },
      "ms-dataServerTableType" : {
        "type" : "string",
        "description" : "Enumeration of table types in the pipeline",
        "default" : "wrangle",
        "enum" : [ "root", "wrangle", "source" ]
      },
      "ms-googleBigQueryImportSource" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-databaseImportSource"
        }, {
          "required" : [ "accountId", "projectId" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "google_big_query_ffsql_model", "googleBigQueryImportSource" ]
            },
            "projectId" : {
              "type" : "string",
              "description" : "the billing project id"
            },
            "accountId" : {
              "type" : "string",
              "description" : "the external oauth account id"
            }
          }
        } ]
      },
      "ms-urlImportSource" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-fileImportSource"
        }, {
          "required" : [ "url" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "file_from_url", "sample_files", "file_from_public_data", "generic_data", "bi_sources", "salesforce", "dropbox", "google_drive", "google_analytics" ]
            },
            "url" : {
              "type" : "string",
              "description" : "the url to import the data"
            },
            "accountId" : {
              "type" : "string",
              "description" : "the external oauth account id"
            },
            "mimeType" : {
              "type" : "string",
              "description" : "the file mimetype for google driver and dropbox"
            }
          }
        } ]
      },
      "ms-databaseImportSource" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerImportSourceBase"
        }, {
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "custom_sql", "single_table", "python", "python_query", "xquery" ]
            },
            "namespace" : {
              "type" : "string"
            },
            "tableName" : {
              "type" : "string"
            },
            "sql" : {
              "type" : "string",
              "description" : "custom sql or script to run"
            },
            "filterString" : {
              "type" : "string"
            }
          }
        } ]
      },
      "ms-DataServerTableFilterPredicateNode" : {
        "title" : "Predicate Node supported in Data Server Table Filter",
        "description" : "A single predicate node that is used to build a filter expression for data server table",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateColumn"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateCustomExpression"
        } ]
      },
      "ms-ExpressionNodeOperator" : {
        "title" : "Operator Node",
        "description" : "An expression node whose value is obtained by applying a specified function to a list of\nchild expressions.\nMost internal nodes within an expression are operator nodes.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "type" : "object",
          "properties" : {
            "children" : {
              "type" : "array",
              "description" : "The list of child expression that combined together at this operator.\nIf there are multiple child expressions then their order is significant.\n\nIn a few cases (depending on the function) it is valid for an operator node to have no\nchildren, in which case this member property may be omitted.\n",
              "items" : {
                "$ref" : "#/components/schemas/ms-ExpressionNode"
              }
            },
            "function" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-EnumFunction"
              }, {
                "description" : "Enumeration constant that identifies all of the built-in functions.\nThis value will always be provided when the service generates the object.\nWhen the client generates the object it may use this field by itself to specify the function.\nThis value by itself is insufficient to identify the function if it is set to `custom` or\n`thirdParty`, in which case the `customFunction` value must be provided.\n\nThis property is required in the predicate model but can be replaced by 'functionPrompt' in the\nexpression model.\n"
              } ]
            },
            "functionProperties" : {
              "type" : "array",
              "description" : "The list of additional properties associated with the function. This is most useful when the function is 'Rank',\nas we'll need the \"byValue\" and \"ascending\" properties.\n\nThis field is only used in a custom expression tree.\n",
              "items" : {
                "$ref" : "#/components/schemas/ms-FunctionProperty"
              }
            },
            "functionPrompt" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "The prompt used by this function.\nThis field is only used in a custom expression tree.\n"
              } ]
            },
            "levelType" : {
              "type" : "string",
              "description" : "Enumeration value indicating how the predicate's level should be determined.\n\nIf there is a level it is usually taken to be the same level as is used in the display grid,\nor which was used to obtain the data.  There is also an option to specify an absolute level\nas part of the predicate definition.\n\nThis field is only used in a custom expression tree.\n",
              "enum" : [ "none", "metric_level", "grid_level", "explicit_level" ]
            },
            "level" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-NodeLevel"
              }, {
                "description" : "This field is only used in a custom expression tree.\n"
              } ]
            },
            "nodeProperty" : {
              "$ref" : "#/components/schemas/ms-NodeProperty"
            }
          }
        } ]
      },
      "ms-TemplateUnit" : {
        "title" : "Template Unit",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The type of this node within the expression tree.\n",
            "enum" : [ "attribute", "dimension", "metrics", "custom_group", "consolidation", "prompt", "raw_unit" ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "attribute" : "AttributeTemplateUnit",
            "dimension" : "SingleObjectTemplateUnit",
            "metrics" : "MetricsTemplateUnit",
            "custom_group" : "SingleObjectTemplateUnit",
            "consolidation" : "SingleObjectTemplateUnit",
            "prompt" : "SingleObjectTemplateUnit",
            "raw_unit" : "SingleObjectTemplateUnit"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-AttributeTemplateUnit"
        }, {
          "$ref" : "#/components/schemas/ms-MetricsTemplateUnit"
        }, {
          "$ref" : "#/components/schemas/ms-SingleObjectTemplateUnit"
        } ]
      },
      "ms-XdaColumn" : {
        "title" : "Column",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Column ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n"
          },
          "name" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          }
        },
        "description" : "The Column Object definition.\nIf id is given, model serivce will find the column from physical table, otherwise, name is required to create a new column. Same for XdaAttribute and XdaMetric.\n"
      },
      "ms-XdaAttributeForm" : {
        "title" : "Attribute Form",
        "required" : [ "displayFormat", "expression" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute Form ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n\nNote that Form ID is associated with the form cateogry used. Multiple forms that use the same category will have the same ID.\nHowever, since no two forms within the same attribute can use the same category, no two forms will share an ID in the same attribute.\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the attribute form set by the attribute.\nUnlike `category`, which is the systemic name associated with each reusable form, this name is specific to the attribute using this form.\n"
          },
          "category" : {
            "type" : "string",
            "description" : "The category of the attribute form.\nUnlike `name`, The field is independent of the attribute using this form.\nThis field can only be set when creating a new form. Once a form is created, its category becomes non-mutable.\nIf not provided (or set as `None`) when an attribute is being created, a custom category will be automatically generated.\n"
          },
          "type" : {
            "type" : "string",
            "description" : "A read-only field indicating the type of this form. A custom form is created if its category is set to `None`.\n",
            "enum" : [ "system", "custom" ]
          },
          "displayFormat" : {
            "type" : "string",
            "enum" : [ "reserved", "number", "text", "picture", "url", "email", "html_tag", "date", "time", "symbol", "phone_number", "last_one" ]
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          }
        },
        "description" : "The Attribute Form Object\n"
      },
      "ms-DataLanguages" : {
        "title" : "Data Languages",
        "required" : [ "dataLanguageType" ],
        "type" : "object",
        "properties" : {
          "dataLanguageType" : {
            "title" : "Data Language Type",
            "type" : "string",
            "enum" : [ "project_default", "all_project_data_language", "specific_languages" ]
          },
          "selectedLanguages" : {
            "title" : "Selected Languages",
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "The format should follow the IETF BCP 47 language tag, for example: \"en-US\".\n"
            }
          }
        },
        "description" : "The languages setting for the data.\nWhen _project_default_ is selected, the report's data will use the project default data language. The `selectedLanguages` property will be ignored if set.\nWhen _all_project_data_language_ is selected, the report's data will use all project's data language. The `selectedLanguages` property will be ignored if set.\nWhen _specific_languages_ is selected, the report's data will use the languages you specified. The `selectedLanguages` property is required and can't be empty.\n"
      },
      "ms-EnumDSSCubeRepublishBehaviorType" : {
        "title" : "Cube Republish Behavior Type",
        "type" : "string",
        "description" : "The setting provides different options to refresh Intelligent Cube data.\n\nThe _replace_ means that old data will be completely replaced with new data, retrieved by executing the current intelligent cube (using its current template and current filter).\n\nThe _dynamic_refresh_ is to insert new rows from new data, and removes non-overlapping rows from old data by comparing the old and new Intelligent Cube data filters.\n\nThe _add_ is to insert new rows from new data and overwrites overlapping rows between old and new data.\n\nThe _upsert_ is to only insert new non-overlapping rows from new data.\n",
        "enum" : [ "replace", "add", "dynamic_refresh", "upsert" ]
      },
      "ms-DataPartition" : {
        "title" : "Data Partition",
        "required" : [ "partitionAttribute" ],
        "type" : "object",
        "properties" : {
          "partitionAttribute" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "The property to speicify the partition attribute. The partition attribute must be in the template.\n"
            } ]
          },
          "numberOfPartitions" : {
            "minimum" : 0,
            "type" : "number",
            "default" : 0
          },
          "fetchDataSlicesInParallel" : {
            "type" : "boolean",
            "description" : "Fetch data slices in parallel from the warehouse. You need to disable TPT to enable this function.\n",
            "default" : false
          }
        },
        "description" : "Object specifies the data partition behavior of the cube. You can select a data partition key (attribute) and the number of partitions to publish data in-memory.\n"
      },
      "ms-BandingDistinct" : {
        "title" : "Banding distinct predicate",
        "required" : [ "predicateTree" ],
        "description" : "The Band for each distinct metric value type of banding qualification creates a separate band for each value calculated by the metric. \nThe bands appear as rows on a report. This type of banding qualification directly uses the results of a metric as bands.\n\nIt is very useful with metrics that already contain the logic needed to calculate sequential band numbers. \nSuch metrics use mathematical formulas, NTile functions, Band functions, or Case functions.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "$ref" : "#/components/schemas/ms-BandingShared"
            }
          }
        } ]
      },
      "ms-BandingPoints" : {
        "title" : "Banding points predicate",
        "required" : [ "points", "predicateTree" ],
        "description" : "The Banding points type of banding qualification slices a range of metric values into a number of equal bands that appear as rows on a report. \n\nYou manually define each band, which allows you to produce bands of varying sizes.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "$ref" : "#/components/schemas/ms-BandingShared"
            }
          }
        } ]
      },
      "ms-BandingCount" : {
        "title" : "Banding count predicate",
        "required" : [ "count", "predicateTree", "start", "stop" ],
        "description" : "The Band count type of banding qualification slices a range of metric values into a number of equal bands that appear as rows on a report. \n\nYou define the range by setting the start at and stop at values. You also set the band count, which is the number of bands to use.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "$ref" : "#/components/schemas/ms-BandingShared"
            }
          }
        } ]
      },
      "ms-BandingSize" : {
        "title" : "Banding size predicate",
        "required" : [ "predicateTree", "size", "start", "stop" ],
        "description" : "The Band size type of banding qualification slices a range of metric values into a number of bands that appear as rows on a report. \n\nYou define the range by setting the start at and stop at values. You also set the step size, which is the size of each band.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "$ref" : "#/components/schemas/ms-BandingShared"
            }
          }
        } ]
      },
      "ms-ExpressionNodeRelationship" : {
        "title" : "Expression Relationship",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "required" : [ "relationship" ],
          "type" : "object",
          "properties" : {
            "relationship" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-RelationshipShared"
              }, {
                "type" : "object",
                "properties" : {
                  "children" : {
                    "type" : "array",
                    "description" : "Array containing the optional root node of the child filter expression.\nWe require that a relationship predicate always has a child filter is always given, but it is possible that the\nchild filter is the _empty filter_.  We model that situation by either omitting the `children` value\nor by using an empty array.\n\nThis expression is also a filter expression, and it is manipulated in the same manner\nas the rest of the filter.\nThe predicate ids that appear within this expression must have disjoint values from the\npredicate ids used in the larger filter.  Thus an individual node within this expression\ncan be manipulated by treating it as a manipulation of the larger filter in the usual\nmanner.\n\nWe use an array so that this value matches the array value of the same name used in an operator node.\n",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-ExpressionNode"
                    }
                  }
                }
              } ]
            }
          }
        } ]
      },
      "ms-ExpressionNodeFormShortcut" : {
        "title" : "Expression Form Shortcut",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "required" : [ "attribute", "form" ],
          "type" : "object",
          "properties" : {
            "attribute" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              } ]
            },
            "form" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              } ]
            },
            "dataLocale" : {
              "type" : "string",
              "description" : "Optional data locale used to select values of the form.\nThe format should follow the IETF BCP 47 language tag, for example: \"en-US\".\n\nSome forms of some attributes may be configured to store representation in multiple\nlocales.  If a predicate qualifies on a form that has been translated in this manner\nit is likely that the elements selected by the predicate will be different for\ndifferent locales.  But we do not want the meaning of a filter to vary based on the\nlocale preferences of the user executing the filter.  So this property is used to\nspecify the data locale to be used for the qualification.  When set it will override\nthe user's personal data locale preference.\n"
            }
          }
        } ]
      },
      "ms-ExpressionNodeDynamicDateTime" : {
        "title" : "Dynamic Date Time Node",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/ms-StructDynamicDateTime"
            }
          }
        } ]
      },
      "ms-ExpressionNodeConstant" : {
        "title" : "Constant Node",
        "description" : "An expression node that contains a literal value.  The value was fixed when the expression\nnode was first specified.  This kind of node is only used for simple values (integers, floating\npoint numbers and text strings).\n\nAlternatively, instead of the variant the node could contain a choose-value prompt reference.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "type" : "object",
          "properties" : {
            "variant" : {
              "$ref" : "#/components/schemas/ms-StructVariant"
            },
            "prompt" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        } ]
      },
      "ms-ExpressionNodeColumnReference" : {
        "title" : "Column Reference Node",
        "description" : "An expression node whose value is some column from a table implied by the expression's context.\n\nThis kind of node is used when we wish to define an expression over the columns of a table or\npotentially over more than one table.\nThe reference specifies the column of interest by name alone.  So the reference is to a selected\ncolumn on the implied table.  It is not a reference to a specific column on a specific table.\nDefining a column reference in this manner allows the architect to specify an expression that\ncan be usefully applied to more than one table.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "required" : [ "columnName" ],
          "type" : "object",
          "properties" : {
            "columnName" : {
              "type" : "string",
              "description" : "The name of the column, as it appears within the RDBMS."
            },
            "objectId" : {
              "$ref" : "#/components/schemas/ms-TypeObjectId"
            }
          }
        } ]
      },
      "ms-ExpressionNodeObjectReference" : {
        "title" : "Object Reference Node",
        "description" : "An expression node whose value is a reference to some other object in the metadata.\n\nThe meaning of the reference depends on the context.\nIf the referenced object is an object that is based on an expression (say a filter or a metric)\nthen it usually means we inline the expression from the object.  But in other cases (say a fact)\nit means that on execution the object reference is replaced with a value of the fact in the\ncontext of execution.\n\nAlthough unusual, it is possible that an object reference node might not refer to an object.\nIf that happens this member property is usually omitted (but might be present but use\n`00000000000000000000000000000000` as its `objectId`).\n\nThe object could be a prompt to select the target object at runtime.\nTypically it is not acceptable for the prompt to return more than one answer.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "type" : "object",
          "properties" : {
            "target" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "optionally this target can be replaced by a prompt object."
              } ]
            },
            "isIndependent" : {
              "type" : "integer",
              "description" : "Flag that indicates whether this child filter will be considered independently of other parts\nof the larger filter:\n* If set to `1` (the default value, used if this property is omitted) then this filter will\n  be evaluated by itself.\n* If set to `0` then other parts of the larger filter will be merged into this filter.\n  Using this setting could change the value of a _metric_ or _relationship_ set qualification\n  that appears within the child filter.\n"
            },
            "substituteFunctionType" : {
              "type" : "string",
              "description" : "Specify how to merge multiple answers if the predicate's value is obtained via a prompt.\n\nThis property is only used when _filter_'s value is a prompt.\nIf the end user selects multiple answers to the prompt, the platform will replace this node\nby a Boolean operator, used to combine the answers.  This property determines which operator\nit uses.  By default it uses the parent Boolean operator (or _AND_ if this predicate is\nthe root of the filter).  Set this property to override the default behavior.\n",
              "enum" : [ "and", "or" ]
            }
          }
        } ]
      },
      "ms-PredicatePrompt" : {
        "title" : "Prompt Predicate",
        "description" : "Specialized expression node for a predicate whose value is prompted at execution time.\n\nThis predicate is used for various kinds of expression prompts.\nAt execution time the end user in effect enters in an entire predicate (or an even more\ncomplex expression).  The answer is then substituted into the filter in place of this node.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "type" : "object",
              "properties" : {
                "prompt" : {
                  "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                }
              }
            }
          }
        } ]
      },
      "ms-PredicateReport" : {
        "title" : "Report Qualification Predicate",
        "description" : "Specialized expression node that contains a report qualification predicate.\n\nThis node is used within filter expressions to represent a predicate whose value is\ndetermined by using a _report as filter_.  That is the engine will evaluate a report, and determine\nthe rows that it covers.  These filter will consist of these rows.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "required" : [ "report" ],
              "type" : "object",
              "properties" : {
                "report" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                  }, {
                    "description" : "Reference to the child report that should be included in this predicate.\n\nAlternatively the filter designer might choose to postpone the decision of which\nreport to include until runtime.  The designer would do this by referencing a choose-objects\nprompt instead of the report.  The prompt must be configured to return zero or more\nreport objects.  If the designer selects a prompt that is answered with multiple\nreports then the optional `substituteFunctionType` is used to determine how to\ncombine these reports together.\n"
                  } ]
                }
              }
            }
          }
        } ]
      },
      "ms-PredicateFilter" : {
        "title" : "Filter Qualification Predicate",
        "description" : "Specialized expression node that contains a filter qualification predicate.\n\nThis node is used within filter expressions to represent a predicate whose value is\ndetermined by using an external _filter_ object.  At execution time the engine will\ntypically act as if the specified filter had been included directly.\nBy using shared filter objects, the client can build complex filter expressions\nthe utilise common subexpressions.\n\nA filter object may not reference itself, or any filter that depends on itself.\nIf such a filter is saved to the metadata any calculation that uses the filter\nwill fail.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "required" : [ "filter" ],
              "type" : "object",
              "properties" : {
                "filter" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                  }, {
                    "description" : "Reference to the child filter that should be included in this predicate.\n\nAlternatively the filter designer might choose to postpone the decision of which\nfilter to include to runtime.  The designer would do this by referencing a choose-objects\nprompt instead of the filter.  The prompt must be configured to return zero or more\nfilter objects.  If the designer selects a prompt that is answered with multiple\nfilters then the optional `substituteFunctionType` is used to determine how to\ncombine these filters together.\n"
                  } ]
                },
                "isIndependent" : {
                  "type" : "integer",
                  "description" : "Flag that indicates whether this child filter will be considered independently of other parts\nof the larger filter:\n* If set to `1` (the default value, used if this property is omitted) then this filter will\n  be evaluated by itself.\n* If set to `0` then other parts of the larger filter will be merged into this filter.\n  Using this setting could change the value of a _metric_ or _relationship_ set qualification\n  that appears within the child filter.\n"
                }
              }
            }
          }
        } ]
      },
      "ms-PredicateForm" : {
        "title" : "Attribute Form Predicate",
        "description" : "Specialized expression node that contains an attribute form qualification predicate.\n\nThis qualification selects elements of a specified attribute by comparing the value\nof a specified form of the element with an expression.\nThe comparison operator used is also specified.  However there are three options for\nspecifying the expression with which it is compared:\n* The client may specify a literal value.\n* The client may ask to use a prompt to determine the value.\n* The client may supply an arbitrary metric style expression to evaluate to obtain the value.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-PredicateExpressionShared"
              }, {
                "required" : [ "attribute", "form" ],
                "type" : "object",
                "properties" : {
                  "attribute" : {
                    "allOf" : [ {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }, {
                      "description" : "The attribute whose elements are selected by this qualification"
                    } ]
                  },
                  "form" : {
                    "allOf" : [ {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }, {
                      "description" : "The attribute form whose value is used to specify the qualification"
                    } ]
                  },
                  "dataLocale" : {
                    "type" : "string",
                    "description" : "Optional data locale used to select values of the form.\nThe format should follow the IETF BCP 47 language tag, for example: \"en-US\".\n\nSome forms of some attributes may be configured to store representation in multiple\nlocales.  If a predicate qualifies on a form that has been translated in this manner\nit is likely that the elements selected by the predicate will be different for\ndifferent locales.  But we do not want the meaning of a filter to vary based on the\nlocale preferences of the user executing the filter.  So this property is used to\nspecify the data locale to be used for the qualification.  When set it will override\nthe user's personal data locale preference.\n\nWhen the attribute form is set to multilingual,\nthe dataLocale will take effect when displaying the data in the report;\nif not, the dataLocale setting will be ignored.\nHowever, you can always set the dataLocale regardless of whether the form is multilingual or not,\nas the form's multilingual setting could be changed.\nIf no particular locale is set, an empty string will be returned.\nIf the field is omitted from the input, the locale will default\nto the warehouse data locale of the user.\n"
                  }
                }
              } ]
            }
          }
        } ]
      },
      "ms-PredicateElementList" : {
        "title" : "Element List Predicate",
        "description" : "Specialized expression node that contains an element list predicate.\n\nThis qualification selects elements of a specified attribute by either listing the elements\nthat should be selected, or alternatively by listing the elements that should be\nexcluded from the selection.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "type" : "object",
              "properties" : {
                "attribute" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                  }, {
                    "description" : "The attribute whose elements are selected by this qualification.\nProperty is not needed if the predicate uses a prompt since in that\ncase the attribute is specified by the prompt.\n"
                  } ]
                },
                "elements" : {
                  "type" : "array",
                  "description" : "Array listing the elements in the predicate",
                  "items" : {
                    "$ref" : "#/components/schemas/ms-ElementConcrete"
                  }
                },
                "elementsPrompt" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                  }, {
                    "description" : "A choose-elements prompt used to obtain the elements in the qualification.\nIf this object is used then it will specify the attribute and elements\nfor the qualification.  The prompt will specify an attribute from which\nthe elements should be selected.\n"
                  } ]
                },
                "function" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-EnumFunction"
                  }, {
                    "description" : "Specify the function that should be used in this predicate.\n\nAlthough this property is a function identifier, there are only two functions that\nmake sense for this predicate:\n* `in` (the filter accepts any element in the list, default value)\n* `notIn` (the filter accepts any element *not* included in the list)\n"
                  } ]
                }
              }
            }
          }
        } ]
      },
      "ms-PredicateJointElementList" : {
        "title" : "Joint Element List Predicate",
        "description" : "Specialized expression node that contains a joint element list predicate.\n\nThis qualification represents a filter at the level of two or more attributes.\nThe filter is defined by simply listing the tuples of elements that satisfy\nthe filter.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "required" : [ "level", "tuples" ],
              "type" : "object",
              "properties" : {
                "level" : {
                  "type" : "array",
                  "description" : "The level of this filter represented as an array of attributes. The attributes must be different from each other, and their order is significant.",
                  "items" : {
                    "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                  }
                },
                "tuples" : {
                  "type" : "array",
                  "description" : "An array of tuples of elements.\n\nEach element of this array is a _joint element_.\nThat is the members of this array are themselves arrays of elements.\nThe elements in the tuples *must* be listed in the same order as the attributes were\nlisted in the `level` array.  There is no need to list the attribute on each element.\n",
                  "items" : {
                    "type" : "array",
                    "description" : "A tuple of elements, with one element for each attribute in the `level`",
                    "items" : {
                      "$ref" : "#/components/schemas/ms-ElementConcrete"
                    }
                  }
                }
              }
            }
          }
        } ]
      },
      "ms-PredicateRelationship" : {
        "title" : "Set from Relationship Predicate",
        "description" : "Specialized expression node that contains a relationship set qualification predicate.\nIn words this predicate describes a qualification of the form\n\"SET of <level> WHERE <an arbitrary filter is true>\".\n\nThis node is used within filter expressions to represent a predicate whose value is\ndetermined by starting with an arbitrary filter expression at some natural level.\nThis filter is then projected to a filter at a level specified within this predicate\nby using a relationship.  The relationship might be the natural relationship inferred\nby the engine for the schema, the relationship given by an explicit table, or a relationship\nimplied by a fact (i.e. the engine selects the best table from the set of tables where the\ngiven fact is implemented).\n\nThis predicate is the only kind of filter predicate that may have a child expression.\nNote that the child expression (if we have any) is *not* listed under the `predicateTree` value\nbut instead appear using the same array value as is used to place the children under an operator node.\nThis indicates that the child expression of a relationship predicate is shown even if the caller\ndid not ask to see predicate details.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-RelationshipShared"
              } ]
            },
            "children" : {
              "type" : "array",
              "description" : "Array containing the optional root node of the child filter expression.\nWe require that a relationship predicate always has a child filter is always given, but it is possible that the\nchild filter is the _empty filter_.  We model that situation by either omitting the `children` value\nor by using an empty array.\n\nThis expression is also a filter expression, and it is manipulated in the same manner\nas the rest of the filter.\nThe predicate ids that appear within this expression must have disjoint values from the\npredicate ids used in the larger filter.  Thus an individual node within this expression\ncan be manipulated by treating it as a manipulation of the larger filter in the usual\nmanner.\n\nWe use an array so that this value matches the array value of the same name used in an operator node.\n",
              "items" : {
                "$ref" : "#/components/schemas/ms-ExpressionNode"
              }
            }
          }
        } ]
      },
      "ms-PredicateMetric" : {
        "title" : "Metric Predicate",
        "description" : "Specialized expression node that contains a metric qualification predicate.\n\nThis qualification selects tuples of elements at a specified level by comparing the value\nof a specified metric evaluated at the tuple with a value of an expression.\nThe comparison operator used is also specified.  However there are multiple options for\nspecifying the expression with which the metric is compared:\n* The client may specify a literal value.\n* The client may specify an object reference.\n* The client may ask to use a prompt to determine the value.\n* The client may supply an arbitrary metric style expression to evaluate to obtain the value.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-PredicateExpressionShared"
              }, {
                "required" : [ "levelType", "metric" ],
                "type" : "object",
                "properties" : {
                  "levelType" : {
                    "type" : "string",
                    "description" : "Enumeration value indicating how the predicate's level should be determined.\n\nIf there is a level it is usually taken to be the same level as is used in the display grid,\nor which was used to obtain the data.  There is also an option to specify an absolute level\nas part of the predicate definition.\n",
                    "enum" : [ "none", "metric_level", "grid_level", "explicit_level" ]
                  },
                  "level" : {
                    "$ref" : "#/components/schemas/ms-NodeLevel"
                  },
                  "metric" : {
                    "allOf" : [ {
                      "$ref" : "#/components/schemas/ms-ObjectInfoReference"
                    }, {
                      "description" : "The metric over whose values this qualification is evaluated.\n\nAlternatively the filter designer could elect to leave the selection of the metric\nto the end user by using a prompt reference.  If that's done then the prompt\nreference should be to a prompt that is configured to return at most one metric\nobject.  If the end user does not select a metric at run time then this\npredicate will be ignored.\n"
                    } ]
                  },
                  "metricFunction" : {
                    "type" : "string",
                    "description" : "Optional parameter that describes how the metric is used within the predicate.\nIf this parameter is omitted it is treated as if it had been set to `value`.\n* `value`: The qualification is applied directly to the metric's values.\n* `rankDescend`: The values taken by the metric over the tuples within the domain of the filter\n  are ranked in descending order.  The metric is replaced by its position (one-based) within\n  this ranking.\n  If the metric's value is identical for two tuples then they are given the same ranking\n  (and a gap is left afterwards).  So if the metric values were [23.5, 7.1, 23.5, 6.9] then\n  the ranked values would be [1, 3, 1, 4].\n  This function can be used to obtain a filter that ranges over the top 10 values that\n  the metric achieves.\n* `rankAscend`: This is identical to `rankDescend` except that this time the metric's values\n  are ascending.  Thus this metric function is used to find the bottom 10 values (say) for\n  the metric.\n* `percentileDescend`: The values are ranked in descending order.  The metric is then assigned\n  a floating point value corresponding to its percentile position within the entire range.\n  Thus the median value would be taken as `50` within the comparison operator.\n  As usual if two tuples have the same metric value then they will be given the same percentile\n  value as well.\n* `percentileAscend`: This is identical to `percentileDescend` except that the metric values are\n  ranked in ascending order instead.\n",
                    "enum" : [ "value", "rank_descend", "rank_ascend", "percentile_descend", "percentile_ascend" ]
                  },
                  "nullInclude" : {
                    "type" : "integer",
                    "description" : "NullInclude is an integer parameter which specifies how null values are considered when evaluating the Rank function. Use `1` to place null values after the value list, use `-1` to place null values before the value list or use `0` to apply the Null checking setting for Analytical Engine in VLDB properties.\nIf this value is not set, `0` will be applied."
                  },
                  "breakBy" : {
                    "allOf" : [ {
                      "$ref" : "#/components/schemas/ms-NodeLevel"
                    }, {
                      "description" : "The break by property of a metric qualification allows you to choose the attribute level\nat which to restart counting rank or percent values for a metric.\nThis attribute level must be higher than or equal to the level of aggregation for the metric itself.\nBreakBy is a list of distinct attribute references.\nThe array may also contain a choose-attribute prompt instead which can be answered with\nzero, one or more attributes.\n\nThis value is only used when the `metricFunction` property is not set to `value`.\n"
                    } ]
                  },
                  "isIndependent" : {
                    "type" : "integer",
                    "description" : "Flag that indicates whether the metric will be evaluated independently of other parts\nof the larger filter:\n* If set to `1` (the default value, also used if this property is omitted) then this metric will\n  be evaluated by itself.\n* If set to `0` then other parts of the larger filter will be applied when evaluating the metric.\n"
                  }
                }
              } ]
            }
          }
        } ]
      },
      "ms-PredicateCustomExpression" : {
        "title" : "Custom Expression Predicate",
        "description" : "Specialized expression node that contains a custom expression predicate.\n\nThis qualification contains a valid expression, usually created by the user, which can't be categorized into\nother types.\n\nThe expression is represented by an array of tokens. The predicate has the predicate details which contains the tokens\nrepresenting the expression. It's controlled by the `showPredicates` to show or hide.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "properties" : {
                "expression" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-Expression"
                  } ]
                }
              }
            },
            "nodeProperty" : {
              "$ref" : "#/components/schemas/ms-NodeProperty"
            }
          }
        } ]
      },
      "ms-AttributeFormExpressionModules" : {
        "title" : "Attribute Form Expressions",
        "type" : "array",
        "description" : "Array with a member object for each separately defined expression currently in use by\nan attribute's form.  Often an attribute's form expression takes the form of just a single column name, but more complex\nexpressions are possible.\n\nWe say that a table _supports_ an attribute's form if it is possible to compute a value for the attribute's form by\nmeans of a `SELECT` expression for each row of the table. Each expression represents a\n`SELECT` expression.  We have an array of expressions because the architect is not\nobligated to use the same expression on every table on which the attribute's form appears.\nHowever it is normal, when an attribute's form appears on multiple tables, for it to reuse an expression,\nso we group together tables with the same expression inside this object.\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-AttributeFormExpressionModule"
        }
      },
      "ms-VLDBProperty" : {
        "title" : "VLDB Property",
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "property name",
            "readOnly" : true
          },
          "value" : {
            "type" : "string",
            "description" : "The Lean variant value"
          },
          "type" : {
            "type" : "string",
            "description" : "The Lean variant type",
            "readOnly" : true,
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-EnumVariantType"
            } ]
          },
          "resolvedLocation" : {
            "type" : "string",
            "description" : "The location where the property value is resolved",
            "readOnly" : true,
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
            } ]
          },
          "isInherited" : {
            "$ref" : "#/components/schemas/ms-isInherited"
          },
          "nextValue" : {
            "type" : "string",
            "description" : "The Lean variant next value, will be returned only if isInherited is false",
            "readOnly" : true
          },
          "nextResolvedLocation" : {
            "type" : "string",
            "description" : "The next location where the property value is resolved, will be returned only if isInherited is false",
            "readOnly" : true,
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
            } ]
          }
        },
        "description" : "VLDB Property of an object. If we set the value to be \"null\", the VLDBProperty will be set to default.\n"
      },
      "ms-EnumAccessRight" : {
        "title" : "Access Right Type",
        "type" : "string",
        "description" : "String literal used to identify a single access right",
        "enum" : [ "browse", "use_execute", "read", "write", "delete", "control", "use", "execute" ]
      },
      "ms-StructColumn" : {
        "title" : "Column",
        "required" : [ "dataType", "name" ],
        "type" : "object",
        "properties" : {
          "information" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoAll"
          },
          "columnName" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          }
        },
        "description" : "Object that represents a physical column that might appear in some data source.\nIn addition to representing physical columns, we also use this object to represent columns\nthat do not actually appear in any data source but which the engine should create if it needs\nto make a column to contain data for some higher level construct\n(e.g. a _fact_, an _attribute form_ etc.).\n\nA column consists of a name used to identify the column in its context (a table)\nand its data type.\n"
      },
      "ms-PartitionFilterExpression" : {
        "title" : "Partition Filter Expression",
        "type" : "object",
        "properties" : {
          "tree" : {
            "$ref" : "#/components/schemas/ms-PartitionFilterExpressionPredicateNode"
          },
          "text" : {
            "type" : "string",
            "description" : "Human readable description of the expression.  It is generated from the current specification\nof the expression.\n\nThis string will appear similar to a parsable description of the expression in\nthe current user's locale.  It is intended to be used to allow a user to easily\ndistinguish between expressions.  But this string cannot actually be used as input to a\nparser session because it does not contain hidden information about ambiguities in\nthe parse text.\n\nSince this representation is not able to fully describe an expression, there is\nno point in the client ever sending it to the service.\n",
            "readOnly" : true,
            "example" : "TOTAL_COST"
          },
          "tokens" : {
            "type" : "array",
            "description" : "Optional array, used if the expression is to be presented as a stream of tokens.\n\nAll types of expressions can be represented in the form of tokens, but some expressions with type predicate are yet not supported to be used in the request input for validation or modification, even when you are using the tokens returned from the service. For e.g. predicate_joint_element_list,  predicate_element_list, and some cases involving embedded objects. Expected errors while be thrown in such cases.\n\nWhen this representation is used by the service we would expect that the tokens would either\ncompletely parse the expression, or would describe an error in the parsing.  When this representation\nis used by the client the tokens would either correspond to fresh text from the user (a `client` token)\nor to parts of the text that the user has not edited (a `parsed` token).\n",
            "items" : {
              "$ref" : "#/components/schemas/ms-ExpressionToken"
            }
          }
        },
        "description" : "A generic specification for a calculation stored within a metadata object.\nThe expression is represented as a tree over nodes.  Most internal nodes\n(called _operator_ nodes) are defined by applying a function to the operator's child nodes.\n\nUsually an expression must be non-empty.  But in a few cases, most notably a filter expression\nit is valid for an expression to contain no nodes at all.  An expression is _empty_ if and only if\nit does not have a `tree` property.\n\nAlternatively the client may prefer to handle an expression as a list of tokens.\nEach token represents part of the raw text of the expression, in some cases annotated\nwith additional information.\n"
      },
      "ms-ElementConcrete" : {
        "title" : "Attribute Element",
        "required" : [ "elementId" ],
        "type" : "object",
        "properties" : {
          "display" : {
            "type" : "string",
            "description" : "Human readable string to display to describe the element to a reader"
          },
          "elementId" : {
            "type" : "string",
            "description" : "Opaque string value that identifies the element to the service.\n\nThe client should make no assumption about the format of this string, and should not attempt to\nparse it (even though forms of the element are likely to be visibly concatenated into it).\nThis string will remain valid even if the current client is using a different locale to the\nlocale of the client that created the element.\n\nWhen creating an element, the client should copy this string from other fields of the\nelement browse result.  If a \"terse\" element id is used, the service will need to know the\nattribute in order to decode the element id.\n"
          },
          "attribute" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }, {
              "description" : "Optionally the element may specify the attribute that it uses.\n\nNote that in most cases elements are used in a context in which the attribute value\nis implied (for example the element is part of an IN-list of elements for some attribute).\nif the attribute is implied there is no need to redundantly repeat it on each element\nin the collection.\n"
            } ]
          }
        },
        "description" : "This object represents a concrete element.\nA concrete element is a metadata representation of an element that exists in some data source.\n\nSince an external data source can be modified without using the MicroStrategy Platform, the\nexistence of a concrete element in the metadata does not mean that the element described\ncurrently exists.  It means that it existed at some point.\n\nIt is possible (using the feature known as _data internationalization_) that a data source\nmay provide multiple descriptions of the same element in different locales.  But all interactions\nwith a data source are performed using a single locale.  It would be highly inefficient to\nretrieve all translations of all elements in case the end user might later decide to place\nthe element into the metadata.  The upshot of this paragraph is that concrete elements are\nmono-lingual in the metadata.\n"
      },
      "ms-FormatType" : {
        "type" : "string",
        "enum" : [ "number_category", "number_decimal_places", "number_thousand_separator", "number_currency_symbol", "number_currency_position", "number_format", "number_negative_numbers", "alignment_horizontal", "alignment_vertical", "alignment_text_wrap", "alignment_text_direction", "padding_left", "padding_right", "padding_top", "padding_bottom", "font_name", "font_bold", "font_italic", "font_size", "font_strikeout", "font_underline", "font_color", "font_script", "border_top_style", "border_left_style", "border_bottom_style", "border_right_style", "border_top_color", "border_left_color", "border_bottom_color", "border_right_color", "background_fill_color", "background_pattern_color", "background_pattern_style", "background_fill_style", "background_gradient_color", "background_gradient_angle", "background_gradient_x_offset", "background_gradient_y_offset" ]
      },
      "ms-DerivedElementElementBase" : {
        "title" : "DerivedElement element base",
        "required" : [ "name", "type" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "derived element element id"
          },
          "name" : {
            "type" : "string",
            "description" : "derived element element name"
          },
          "type" : {
            "type" : "string",
            "description" : "type of the derived element element",
            "enum" : [ "list", "filter", "calculation", "all_other" ]
          },
          "format" : {
            "type" : "object",
            "properties" : {
              "values" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              },
              "header" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/ms-FormatProperty"
                }
              }
            },
            "description" : "Format that lets you highlight important or unique data as well as correctly reflect value and character formats for your derived elements. _header_ allow you to format\nindividual attribute elements, while _value_ allow you to format metric values associated with the individual attribute elements.\n"
          },
          "options" : {
            "type" : "object",
            "properties" : {
              "display" : {
                "type" : "string",
                "enum" : [ "this_element", "individual_items" ]
              },
              "subtotal" : {
                "type" : "string",
                "enum" : [ "this_element", "individual_items", "disable" ]
              },
              "includeIndividual" : {
                "type" : "boolean"
              }
            },
            "description" : "For options field, it is the same for list, filter, calculation, All Other element.\n\n\"display\" controls the element behavior. it has two values: \"this_elements\" means consolidate items into one element. \"individual_items\" means keep individual items separate.\n\n\"subtotal\" controls the subtotal behavior, it has three values. It is similar to the \"display\" field, except it controls subtotal instead of element when applied in document.\n\n\"includeIndividual\" enables analyzing attribute elements with derived elements, while also including the attribute element on the report. It only affects list element, filter element and calculation element.\n"
          }
        },
        "description" : "General derived element"
      },
      "ms-DataTemplate" : {
        "title" : "Report Data template",
        "type" : "object",
        "description" : "For normal report, attribute, custom group, consolidation, object prompt, dimension and metrics can be added to data template units. Drill map can be set to data template as well.\n\nFor free form SQL report, the data template is generated according to its table. If dataTemplate is given in request body, only derived element in attribute template unit will be updated. Drill map cannot be set to data template.\n\nSubset report does not have data template.       \n",
        "oneOf" : [ {
          "properties" : {
            "units" : {
              "$ref" : "#/components/schemas/ms-ReportTemplateUnits"
            },
            "drillMap" : {
              "$ref" : "#/components/schemas/ms-DrillMapReference"
            }
          }
        }, {
          "properties" : {
            "standaloneTemplate" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        } ]
      },
      "ms-TemplateAxis" : {
        "title" : "Report view template axis",
        "type" : "object",
        "properties" : {
          "units" : {
            "$ref" : "#/components/schemas/ms-ReportTemplateUnits"
          },
          "sorts" : {
            "$ref" : "#/components/schemas/ms-Sorts"
          },
          "hiddenUnits" : {
            "$ref" : "#/components/schemas/ms-ReportTemplateUnits"
          },
          "hiddenMetrics" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ReportTemplateMetricElement"
            }
          }
        },
        "description" : "Describes the objects shown in grid.\n"
      },
      "ms-DrillMapReference" : {
        "title" : "Drill Map reference",
        "type" : "object",
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object"
          }
        },
        "description" : "A reference to a drill map object"
      },
      "ms-TemplateSubtotal" : {
        "title" : "Report template subtotal",
        "type" : "object",
        "description" : "the subtotal",
        "oneOf" : [ {
          "properties" : {
            "name" : {
              "type" : "string"
            },
            "type" : {
              "type" : "string",
              "description" : "The subtotal type.",
              "example" : "subtotal_list",
              "enum" : [ "subtotal_list", "subtotal_definition" ]
            },
            "evaluationOrder" : {
              "$ref" : "#/components/schemas/ms-EvaluationOrder"
            },
            "appliedLevel" : {
              "$ref" : "#/components/schemas/ms-SubtotalAppliedLevel"
            },
            "metricSubtotals" : {
              "$ref" : "#/components/schemas/ms-TemplateMetricSubtotals"
            }
          }
        }, {
          "properties" : {
            "name" : {
              "type" : "string"
            },
            "type" : {
              "type" : "string",
              "description" : "The subtotal type.",
              "example" : "subtotal_definition",
              "enum" : [ "subtotal_list", "subtotal_definition" ]
            },
            "evaluationOrder" : {
              "$ref" : "#/components/schemas/ms-EvaluationOrder"
            },
            "appliedLevel" : {
              "$ref" : "#/components/schemas/ms-SubtotalAppliedLevel"
            },
            "subtotal" : {
              "$ref" : "#/components/schemas/ms-TemplateSubtotalInfoReference"
            }
          }
        } ]
      },
      "ms-MetricJoinType" : {
        "type" : "object",
        "properties" : {
          "metric" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "joinType" : {
            "$ref" : "#/components/schemas/ms-EnumJoinType"
          },
          "resolvedLocation" : {
            "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
          },
          "isInherited" : {
            "$ref" : "#/components/schemas/ms-isInherited"
          },
          "nextJoinType" : {
            "$ref" : "#/components/schemas/ms-EnumJoinType"
          },
          "nextResolvedLocation" : {
            "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
          }
        }
      },
      "ms-AttributeJoinType" : {
        "type" : "object",
        "properties" : {
          "attribute" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "noParticipationInPreserveRow" : {
            "type" : "boolean"
          },
          "resolvedLocation" : {
            "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
          },
          "isInherited" : {
            "$ref" : "#/components/schemas/ms-isInherited"
          },
          "nextNoParticipationInPreserveRow" : {
            "type" : "boolean",
            "description" : "Next no participation in preserve row, will be returned only if isInherited is false"
          },
          "nextResolvedLocation" : {
            "$ref" : "#/components/schemas/ms-EnumDSSPropertyLocation"
          }
        }
      },
      "ms-EnumDSSPropertyLocation" : {
        "title" : "Property Location",
        "type" : "string",
        "description" : "String literal used to identify the location where the property value is resolved",
        "enum" : [ "report_target", "report", "template_target", "template", "object", "project", "db_role", "dbms", "default" ]
      },
      "ms-isInherited" : {
        "type" : "boolean",
        "description" : "Whether the current property value is inherited from other objects or not. If the property is set on the object, the isInherited is false. If the property's value is inherited from other objects, such as project, dbrole or other objects in the look up chain, the isInherited is true.",
        "readOnly" : true
      },
      "ms-PromptOrderInfo" : {
        "title" : "Prompt Order Info",
        "type" : "object",
        "properties" : {
          "prompt" : {
            "$ref" : "#/components/schemas/ms-ObjectInfoReference"
          },
          "title" : {
            "type" : "string",
            "description" : "the prompt title"
          },
          "locations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-PromptLocation"
            }
          },
          "required" : {
            "type" : "boolean",
            "description" : "whether this prompt is required to answer during report execution"
          },
          "sortable" : {
            "type" : "boolean",
            "description" : "whether this prompt order can be changed or not"
          }
        }
      },
      "ms-TransactionReportColumn" : {
        "title" : "Transaction Report Column",
        "required" : [ "required" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Column ID"
          },
          "name" : {
            "type" : "string",
            "description" : "Column name"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/ms-StructDataType"
          },
          "required" : {
            "type" : "boolean",
            "description" : "If this column is required"
          }
        },
        "description" : "The Column Object definition.\nIn the request body of POST transaction report API, you should not provide the ID of the column.\nIn the request body of PUT transaction report API, if ID is given, model serivce will find the column from physical table, otherwise, name is required to create a new column.\n"
      },
      "ms-TransactionReportAttributeForm" : {
        "title" : "Transaction Report Attribute Form",
        "required" : [ "displayFormat", "expression", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Attribute Form ID\n"
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the attribute form set by the attribute.\nUnlike `category`, which is the systemic name associated with each reusable form, this name is specific to the attribute using this form.\n"
          },
          "category" : {
            "type" : "string",
            "description" : "The category of the attribute form.\nUnlike `name`, The field is independent of the attribute using this form.\nThis field can only be set when creating a new form. Once a form is created, its category becomes non-mutable.\nIf not provided (or set as `None`) when an attribute is being created, a custom category will be automatically generated.\n"
          },
          "type" : {
            "type" : "string",
            "description" : "A read-only field indicating the type of this form. A custom form is created if its category is set to `None`.\n",
            "enum" : [ "system", "custom" ]
          },
          "displayFormat" : {
            "type" : "string",
            "enum" : [ "reserved", "number", "text", "picture", "url", "email", "html_tag", "date", "time", "symbol", "phone_number", "last_one" ]
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-TransactionReportColumnReference"
          }
        },
        "description" : "The Attribute Form Mapped to a Transaction Report's Column\n"
      },
      "ms-TransactionReportColumnReference" : {
        "title" : "Transaction Report Column Reference",
        "required" : [ "tree" ],
        "type" : "object",
        "properties" : {
          "tree" : {
            "required" : [ "name", "type" ],
            "type" : "object",
            "properties" : {
              "type" : {
                "type" : "string",
                "enum" : [ "column_reference" ]
              },
              "name" : {
                "type" : "string",
                "description" : "column name"
              },
              "objectId" : {
                "type" : "string",
                "description" : "column ID"
              }
            }
          }
        }
      },
      "ms-PII" : {
        "title" : "PII",
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "form id of the pii"
          },
          "level" : {
            "type" : "string",
            "description" : "the sensitive level",
            "enum" : [ "none", "medium", "high" ]
          },
          "presetMaskType" : {
            "type" : "string",
            "description" : "the preset mask type"
          },
          "operation" : {
            "type" : "string",
            "description" : "the operation to be applied to the pii data",
            "enum" : [ "faker", "range_mask" ]
          }
        },
        "description" : "Object that specifies a _pii definition_.\n"
      },
      "ms-ReplaceMissingValueFunctionType" : {
        "type" : "string",
        "enum" : [ "average", "median", "mode" ]
      },
      "ms-OperationBase" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the operation",
            "readOnly" : true
          },
          "description" : {
            "type" : "string",
            "description" : "the summary of the wrangle operation"
          },
          "descriptionTemplate" : {
            "type" : "string",
            "description" : "the template of generating the description of the operation"
          }
        },
        "description" : "Base class for all operation types"
      },
      "ms-Edit" : {
        "type" : "object",
        "properties" : {
          "fromBlank" : {
            "type" : "boolean"
          },
          "fromError" : {
            "type" : "boolean"
          },
          "from" : {
            "type" : "string"
          },
          "to" : {
            "type" : "string"
          }
        }
      },
      "ms-EngineConfig" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "$ref" : "#/components/schemas/ms-DeduplicateRowsMode"
          },
          "facets" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-EngineConfigFacet"
            }
          }
        }
      },
      "ms-ValueExpression" : {
        "type" : "object",
        "properties" : {
          "columnName" : {
            "type" : "string"
          },
          "aggregationFunction" : {
            "type" : "string"
          }
        }
      },
      "ms-SplitMode" : {
        "type" : "string",
        "enum" : [ "separator", "lengths" ]
      },
      "ms-SeparatorMode" : {
        "type" : "string",
        "description" : "Set the separator mode using integer\n  - 0: On\n  - 1: BeforeFirst \n  - 2: BeforeLast, only support for hgos\n  - 3: AfterFrist, only support for hgos\n  - 4: AfterLast\n  - 5: BetweenPosition\n  - 6: BetweenString\n",
        "enum" : [ "0", "1", "2", "3", "4", "5", "6" ]
      },
      "ms-OpenRefineOnError" : {
        "type" : "string",
        "enum" : [ "set-to-blank", "keep-original" ]
      },
      "ms-DeduplicateRowsMode" : {
        "type" : "string",
        "enum" : [ "row-based", "column-based" ]
      },
      "ms-fileImportSource" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-dataServerImportSourceBase"
        }, {
          "type" : "object",
          "properties" : {
            "fileType" : {
              "type" : "string",
              "description" : "the file type, e.g. csv, txt, json, parquet, avro, orc, delta, list"
            },
            "sheetIndex" : {
              "minimum" : 0,
              "type" : "integer"
            },
            "sheetName" : {
              "type" : "string",
              "description" : "sheet name"
            },
            "dataOptions" : {
              "$ref" : "#/components/schemas/ms-dataServerDataOptions"
            }
          }
        } ]
      },
      "ms-dataServerImportSourceBase" : {
        "required" : [ "dataSourceId", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ms-dataServerDataSourceType"
          },
          "dataSourceId" : {
            "type" : "string"
          },
          "columns" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-dataServerColumn"
            },
            "default" : [ ]
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "custom_sql" : "#/components/schemas/databaseImportSource",
            "single_table" : "#/components/schemas/databaseImportSource",
            "python" : "#/components/schemas/databaseImportSource",
            "python_query" : "#/components/schemas/databaseImportSource",
            "xquery" : "#/components/schemas/databaseImportSource",
            "file_from_url" : "#/components/schemas/urlImportSource",
            "sample_files" : "#/components/schemas/urlImportSource",
            "file_from_public_data" : "#/components/schemas/urlImportSource",
            "generic_data" : "#/components/schemas/urlImportSource",
            "bi_sources" : "#/components/schemas/urlImportSource",
            "salesforce" : "#/components/schemas/urlImportSource",
            "google_drive" : "#/components/schemas/urlImportSource",
            "google_analytics" : "#/components/schemas/urlImportSource",
            "google_big_query_ffsql_model" : "#/components/schemas/googleBigQueryImportSource",
            "google_big_query_single_table" : "#/components/schemas/googleBigQueryImportSource"
          }
        }
      },
      "ms-PredicateColumn" : {
        "title" : "Column Qualification Predicate",
        "description" : "A single predicate node that is used to build a filter expression for data server table",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateBase"
        }, {
          "type" : "object",
          "properties" : {
            "predicateTree" : {
              "type" : "object",
              "properties" : {
                "column" : {
                  "type" : "object",
                  "properties" : {
                    "type" : {
                      "type" : "string",
                      "example" : "column_reference",
                      "enum" : [ "column_reference" ]
                    },
                    "columnName" : {
                      "type" : "string",
                      "example" : "ELM_NAME"
                    }
                  }
                },
                "function" : {
                  "allOf" : [ {
                    "$ref" : "#/components/schemas/ms-EnumFunction"
                  }, {
                    "description" : "Specify the comparison function that should be used to compare the value computed by\nthe filter with an expression value.\n\nUsually we would expect one of the following functions but other functions are permitted:\n* `equals`\n* `not_equal`\n* `greater`\n* `greater_equal`\n* `less`\n* `less_equal`\n* `is_null` (takes no additional arguments)\n* `is_not_null` (takes no additional arguments)\n* `begins_with` (string values only)\n* `not_begins_with` (string values only)\n* `ends_with` (string values only)\n* `not_ends_with` (string values only)\n* `contains` (string values only)\n* `not_contains` (string values only)\n* `like` (string values only)\n* `not_like` (string values only)\n* `in` (argument must be array of literals)\n* `not_in` (argument must be array of literals)\n* `between` (takes two arguments)\n* `not_between` (takes two arguments)\n\nFor a complete list of supported functions, please refer to the EnumFunction.\n"
                  } ]
                },
                "parameters" : {
                  "title" : "Any Predicate Parameter",
                  "required" : [ "parameterType" ],
                  "description" : "One of the various mechanisms used to specify a predicate parameter",
                  "example" : {
                    "parameterType" : "constant",
                    "constant" : {
                      "type" : "string",
                      "value" : "Northeast"
                    }
                  },
                  "discriminator" : {
                    "propertyName" : "parameterType",
                    "mapping" : {
                      "constant" : "PredicateParameterConstant",
                      "expression" : "PredicateParameterExpression",
                      "array" : "PredicateParameterArray",
                      "dynamic_date_time" : "PredicateParameterDynamicDateTime"
                    }
                  },
                  "oneOf" : [ {
                    "$ref" : "#/components/schemas/ms-PredicateParameterConstant"
                  }, {
                    "$ref" : "#/components/schemas/ms-PredicateParameterExpression"
                  }, {
                    "$ref" : "#/components/schemas/ms-PredicateParameterArray"
                  }, {
                    "$ref" : "#/components/schemas/ms-PredicateParameterDynamicDateTime"
                  } ]
                }
              }
            }
          }
        } ]
      },
      "ms-EnumFunction" : {
        "title" : "Function Identifier",
        "type" : "string",
        "description" : "String literal used to identify built-in function objects\n\nIn nearly all cases when a client wishes to refer to a function, the client will want to refer\nto one of the built-in functions.  This enumeration provides values for these functions.\nA value from this enumeration may be used instead of an explicit object reference when\nreferring to one of these functions.\n",
        "enum" : [ "third_party", "custom", "plus", "minus", "times", "divide", "unary_minus", "equals", "not_equal", "greater", "less", "greater_equal", "less_equal", "sum", "count", "avg", "min", "max", "between", "like", "and", "or", "not", "in", "rank", "abs", "running_sum", "running_avg", "moving_sum", "moving_avg", "product", "median", "mode", "stdev", "var", "geomean", "equal_enhanced", "not_equal_enhanced", "greater_equal_enhanced", "less_equal_enhanced", "between_enhanced", "banding", "banding_c", "banding_p", "not_like", "not_between", "intersect", "intersect_in", "null_to_zero", "zero_to_null", "apply_simple", "apply_aggregation", "apply_logic", "apply_comparison", "apply_relative", "is_null", "is_not_null", "ucase", "not_in", "n_tile", "percentile", "moving_max", "moving_min", "moving_difference", "moving_stdev", "exp_wgh_moving_avg", "moving_count", "running_max", "running_min", "running_stdev", "running_count", "exp_wgh_running_avg", "not_between_enhanced", "concat", "first_in_range", "last_in_range", "value_segment", "contains", "begins_with", "ends_with", "not_contains", "not_begins_with", "not_ends_with", "case", "case_v", "stdev_p", "running_stdev_p", "moving_stdev_p", "n_tile_s", "n_tile_vs", "var_p", "current_date", "day_of_month", "day_of_week", "day_of_year", "week", "month", "quarter", "year", "current_date_time", "current_time", "hour", "minute", "second", "milli_second", "concat_no_blank", "length", "lower", "l_trim", "position", "r_trim", "sub_str", "init_cap", "trim", "right_str", "left_str", "greatest", "least", "first", "last", "date", "days_between", "months_between", "add_days", "add_months", "month_start_date", "month_end_date", "year_start_date", "year_end_date", "if", "apply_optional", "apply_cs_security_filter", "union", "except", "coalesce", "add", "average", "multiply", "banding_m", "olap_sum", "olap_avg", "olap_count", "olap_max", "olap_min", "lag", "lead", "olap_rank", "repeat", "bit_and", "bit_or", "bit_xor", "bit_not", "bit_left_shift", "bit_right_shift", "ampersand", "ordinal_rank", "histogram_median", "band_names", "percent_rank_relative", "search", "if_by_dimty", "get_extra_output", "to_date_time", "quarter_start_date", "week_start_date", "to_string", "to_number", "percent_rank", "str_replace", "str_match", "str_split", "str_char", "str_repeat", "date_diff", "str_begins_with", "str_ends_with", "weight_std_p", "weight_mean_ave", "concat_agg", "weight_cov", "weight_corr", "str_last_position", "str_title_cap", "fiscal_week", "fiscal_month", "fiscal_quarter", "fiscal_year", "null_to_empty", "descendants", "ancestors", "parents", "children", "tuple" ]
      },
      "ms-NodeLevel" : {
        "title" : "Node Level",
        "type" : "array",
        "description" : "Within an expression we sometimes need to state at which a computation is performed.\nIn some cases the level is obtained by examining the execution environment.\nThis object is used if the designer wishes to specify an explicit level.\n\nAn explicit level is a list of attributes.  Alternatively the client may defer\nselecting an attribute (or attributes) at design time by using a prompt instead.\nIf a prompt is used it should be a choose-attributes prompt, and it may return\nany number of attributes (including zero).\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-ObjectInfoReference"
        }
      },
      "ms-NodeProperty" : {
        "title" : "Node Property",
        "type" : "integer",
        "description" : "A property used for persisting back-compatibility information for the filter editing. Usually it will not show. If it's displayed in the\nresponse, you should consider include it with the same value in the same node in the request body when you performing the PUT/POST/PATCH.\n\nIf you don't put it back in the request, there can be some behavior difference in Filter Expression Editors of other MicroStrategy apps.\n",
        "example" : 2
      },
      "ms-ExpressionNodeBase" : {
        "title" : "Expression Node (Base)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The type of this node within the expression tree",
            "enum" : [ "operator", "object_reference", "column_reference", "constant", "relationship", "form_shortcut", "dynamic_date_time", "predicate_custom", "predicate_prompt", "predicate_metric_qualification", "predicate_relationship", "predicate_joint_element_list", "predicate_element_list", "predicate_form_qualification", "predicate_filter_qualification", "predicate_report_qualification", "predicate_banding_size", "predicate_banding_count", "predicate_banding_points", "predicate_banding_distinct", "predicate_column_qualification" ]
          }
        },
        "description" : "Common properties that are shared by all the kinds of Expression node"
      },
      "ms-SingleObjectTemplateUnit" : {
        "title" : "Single Object Template Unit",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectName"
            }, {
              "readOnly" : true
            } ]
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the object in the template unit"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-TemplateUnit"
        } ]
      },
      "ms-MetricsTemplateUnit" : {
        "title" : "Metrics Template Unit",
        "description" : "A template unit referes to a list of metrics. \n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-TemplateUnit"
        }, {
          "type" : "object",
          "properties" : {
            "elements" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-TemplateMetricElement"
              }
            }
          }
        }, {
          "required" : [ "elements" ]
        } ]
      },
      "ms-AttributeTemplateUnit" : {
        "title" : "Attribute Template Unit",
        "description" : "A template unit refers to an attribute. When the `forms` is _null_, the attribute will use the `displayForms` of the specific attribute. When the `forms` is not null, the report using the template unit will use the forms defined instead of the default value.\n\nThe unit has to point to an attribute and duplicate forms in the unit are not allowed.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-SingleObjectTemplateUnit"
        }, {
          "type" : "object",
          "properties" : {
            "forms" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-FormReference"
              }
            }
          }
        } ]
      },
      "ms-BandingShared" : {
        "title" : "BandingShared",
        "required" : [ "bandMetricFunction", "level", "metric" ],
        "properties" : {
          "level" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "metric" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "bandMetricFunction" : {
            "type" : "string",
            "enum" : [ "value", "rank_descend", "percentile_descend" ]
          },
          "bandNames" : {
            "type" : "array",
            "description" : "array of band names, a band name cannot contain \"#;\" or \"#,\"",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "shared object for bandings"
      },
      "ms-PredicateBase" : {
        "title" : "Predicate Node (Base)",
        "description" : "Base schema for all expression nodes that are considered to be predicates.\n\nA filter predicate is a node that represents a single qualification in a filter expression.\nPredicate nodes have a couple of extra shared values, which are included using\nthis schema.  All of the predicate node's predicate specific properties are placed under a single\nobject with key `predicateTree`.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "required" : [ "predicateId", "predicateText" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "enum" : [ "predicate_column_qualification" ]
            },
            "predicateId" : {
              "type" : "string",
              "description" : "String identifier that uniquely identifies this predicate within the context of its larger filter.\nAny non-empty string of printable characters can be used as a predicate.\n\nThese identifiers have no runtime significance.  They are used so we can apply manipulations to\na specific predicate within a filter.  The id of a specific predicate will not change as the\npredicate is moved around during an edit changeset.  On the other hand predicate ids are not\nsaved into metadata.  Thus the client should expect that different ids are used for each\nedit changeset.\n\nTODO: Can the client assign a predicate id, or is that a prerogative of the service?\n"
            }
          }
        } ]
      },
      "ms-RelationshipShared" : {
        "title" : "Shared components in a relationship qualification",
        "allOf" : [ {
          "required" : [ "level" ],
          "type" : "object",
          "properties" : {
            "level" : {
              "$ref" : "#/components/schemas/ms-NodeLevel"
            },
            "guide" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "An optional object that specifies how to relate the child filter with the output filter.\nThere are three options, depending on the nature of the `guide` object:\n* The object may be a `logicalTable`, in which case the filter is projected through this table.\n* The object may be a `fact`, in which case the filter is projected via one of the tables on\n  which the fact is defined.\n* There might not be a guide object at all, in which case the filter is projected via the\n  engine's usual join rules (using attribute relationships from the system hierarchy).\n",
                "example" : {
                  "objectId" : "8D6793DF11D3E4981000E787EC6DE8A4",
                  "type" : "logicalTable",
                  "name" : "ORDER_JOIN"
                }
              } ]
            },
            "isIndependent" : {
              "type" : "integer",
              "description" : "Flag that indicates whether the child filter will be considered independently of other parts\nof the larger filter:\n* If set to `1` (the default value, also used if this property is omitted) then this filter will\n  be evaluated by itself.\n* If set to `0` then other parts of the larger filter will be merged into this filter.\n"
            }
          }
        } ]
      },
      "ms-StructDynamicDateTime" : {
        "title" : "Dynamic Date/Time Structure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "enum" : [ "date", "time" ]
          }
        },
        "description" : "Object that represents a date/time. It can be date-only, or time-only, or date-time.\nThe date part and the time part can be dynamic or static independently. Typically \nthis object is used when at least one of the two parts is dynamic. Although it's\ncapable of describing a static date/time, the much simpler Variant is preferable \nin that case.\n",
        "anyOf" : [ {
          "type" : "object",
          "properties" : {
            "date" : {
              "allOf" : [ {
                "description" : "The date component, required when the type is date or date_time"
              }, {
                "$ref" : "#/components/schemas/ms-StructVersatileDate"
              } ]
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "time" : {
              "allOf" : [ {
                "description" : "The time component, required when the type is time or date_time"
              }, {
                "$ref" : "#/components/schemas/ms-StructVersatileTime"
              } ]
            }
          }
        } ]
      },
      "ms-PredicateExpressionShared" : {
        "title" : "Predicate Expression Shared",
        "required" : [ "function", "parameters" ],
        "type" : "object",
        "properties" : {
          "function" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-EnumFunction"
            }, {
              "description" : "Specify the comparison function that should be used to compare the value computed by\nthe filter with an expression value.\n\nUsually we would expect one of the following functions but other functions are permitted:\n* `equals`\n* `not_equal`\n* `greater`\n* `greater_equal`\n* `less`\n* `less_equal`\n* `is_null` (takes no additional arguments)\n* `is_not_null` (takes no additional arguments)\n* `begins_with` (string values only)\n* `not_begins_with` (string values only)\n* `ends_with` (string values only)\n* `not_ends_with` (string values only)\n* `contains` (string values only)\n* `not_contains` (string values only)\n* `like` (string values only)\n* `not_like` (string values only)\n* `in` (argument must be array of literals)\n* `not_in` (argument must be array of literals)\n* `between` (takes two arguments)\n* `not_between` (takes two arguments)\n\nFor a complete list of supported functions, please refer to the EnumFunction.\n"
            } ]
          },
          "parameters" : {
            "type" : "array",
            "description" : "Array of objects that correspond to the parameters for the comparison function.\nIn nearly all cases the comparison function will take one extra parameter (in addition to the parameter\nreferenced by the predicate's main object).\n\nThis value is an array because there are a few functions which take a different number of extra parameters.\nFor example `isNull` does not need any additional parameters; `notBetween` needs two additional parameters.\n",
            "items" : {
              "$ref" : "#/components/schemas/ms-PredicateParameter"
            }
          }
        },
        "description" : "Miscellaneous values shared between several schema (not interesting by themselves)"
      },
      "ms-AttributeFormExpressionModule" : {
        "title" : "Attribute Form Expression",
        "required" : [ "expression", "tables" ],
        "type" : "object",
        "properties" : {
          "expressionId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "expression" : {
            "$ref" : "#/components/schemas/ms-Expression"
          },
          "tables" : {
            "type" : "array",
            "description" : "Array with a member object for each logical table that computes a value for this attribute's form\nby evaluating the expression.\n\nThis array should be non-empty for an attribute's form that is saved into metadata,\nbut may be empty during an edit changeset.\nThe order of the tables within the array has no significance.\n",
            "example" : [ {
              "objectId" : "8D6793D811D3E4981000E787EC6DE8A4",
              "subType" : "logicalTable",
              "name" : "ORDER_TRANSACTION"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          },
          "potentialTables" : {
            "type" : "array",
            "description" : "Array with a member object for each logical table that does not currently use\nthis attribute's form expression, but for which the expression would be valid.\n\nWe say that a table is valid for an expression if, for every column name that appears in\nthe expression, the table has a column with the same name.\nIt is possible both for this array to be empty and for the content of this array to change\nwith changing the attribute's form object.\nThe order of the tables within the array has no significance.\n\nSince this array is relatively expensive to compute (any of the tables in the schema might\nsupport an expression) this array is omitted by default.  A query must be passed in to specify\nwhen a client is interested in saying this array.\n",
            "readOnly" : true,
            "example" : [ {
              "objectId" : "8D6793D411D3E4981000E787EC6DE8A4",
              "subType" : "logicalTable",
              "name" : "ORDER_FACT"
            } ],
            "items" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        },
        "description" : "Object that gives information about an expression that is in use by an attribute's form.\nNaturally the most important part of an attribute's form expression is the expression.\nThis is often just a single column reference, but more complex expressions are supported.\nThe object also lists those tables where the expression is currently used or where it\ncould be used.\n\nWe say that a table _supports_ an attribute's form if it is possible to compute a value for the attribute's form by\nmeans of a `SELECT` expression for each row of the table.  The expression represents a\n`SELECT` expression.\n"
      },
      "ms-PartitionFilterExpressionPredicateNode" : {
        "title" : "Partition Filter Predicate Node",
        "description" : "A single predicate node that is used to build a partition filter expression.\n",
        "example" : {
          "type" : "predicateElementList",
          "predicateId" : "K28",
          "predicateText" : "City IN ([New York], [London])",
          "predicateTree" : {
            "attribute" : {
              "objectId" : "a34260abd342760ab34260bd34f260ad",
              "type" : "attribute",
              "subType" : "attribute",
              "name" : "City"
            },
            "elements" : [ {
              "display" : "New York",
              "elementId" : "t23"
            }, {
              "display" : "London",
              "elementId" : "t1"
            } ]
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateElementList"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateForm"
        } ]
      },
      "ms-ReportTemplateUnits" : {
        "title" : "Template Units",
        "type" : "array",
        "description" : "A list of template units.\n",
        "items" : {
          "$ref" : "#/components/schemas/ms-ReportTemplateUnit"
        }
      },
      "ms-Sorts" : {
        "title" : "Report view template sort list",
        "type" : "array",
        "items" : {
          "oneOf" : [ {
            "$ref" : "#/components/schemas/ms-AttributeFormSort"
          }, {
            "$ref" : "#/components/schemas/ms-AttributeSort"
          }, {
            "$ref" : "#/components/schemas/ms-ConsolidationSort"
          }, {
            "$ref" : "#/components/schemas/ms-CustomGroupSort"
          }, {
            "$ref" : "#/components/schemas/ms-MetricSort"
          }, {
            "$ref" : "#/components/schemas/ms-MetricHierarchicalSort"
          }, {
            "$ref" : "#/components/schemas/ms-SubtotalsPositionSort"
          } ]
        }
      },
      "ms-ReportTemplateMetricElement" : {
        "title" : "Template Metric Element",
        "required" : [ "id", "subType" ],
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectName"
            }, {
              "readOnly" : true
            } ]
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the template metric element"
          },
          "evaluationOrder" : {
            "$ref" : "#/components/schemas/ms-EvaluationOrder"
          },
          "thresholds" : {
            "type" : "array",
            "description" : "The list of threshold defined for the metric. Thresholds can only be defined on view template.",
            "items" : {
              "$ref" : "#/components/schemas/ms-Threshold"
            }
          },
          "limit" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-Expression"
            }, {
              "description" : "Metric limit expression. The object used in metric limit must exist in report template.\n\nThe metric limit can only be defined on view template.\n"
            } ]
          },
          "isEmbedded" : {
            "type" : "boolean",
            "description" : "Is embedded metric or not."
          }
        }
      },
      "ms-EvaluationOrder" : {
        "title" : "Evaluation Order",
        "type" : "integer",
        "description" : "Evaluation order controls the order in which compound smart metrics, consolidations, derived metrics, derived elements, report limits, and subtotals are calculated and resolved for a given report.\n"
      },
      "ms-SubtotalAppliedLevel" : {
        "title" : "Subtotal applied level",
        "type" : "object",
        "description" : "Subtotal applied level.",
        "oneOf" : [ {
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "Subtotal applied level type.",
              "example" : "by_position",
              "enum" : [ "by_position", "across_level", "group_by" ]
            },
            "rows" : {
              "$ref" : "#/components/schemas/ms-SubtotalStyle"
            },
            "columns" : {
              "$ref" : "#/components/schemas/ms-SubtotalStyle"
            },
            "pageBy" : {
              "$ref" : "#/components/schemas/ms-SubtotalStyle"
            }
          }
        }, {
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "Subtotal applied level type.",
              "example" : "across_level",
              "enum" : [ "by_position", "across_level", "group_by" ]
            },
            "units" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            }
          }
        }, {
          "properties" : {
            "type" : {
              "type" : "string",
              "description" : "Subtotal applied level type.",
              "example" : "group_by",
              "enum" : [ "by_position", "across_level", "group_by" ]
            },
            "units" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }
            },
            "grandTotal" : {
              "type" : "boolean"
            }
          }
        } ]
      },
      "ms-TemplateSubtotalInfoReference" : {
        "title" : "Subtotal Object Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          }
        },
        "description" : "the subtotal object info reference used in template subtotal",
        "example" : {
          "objectId" : "96C487AF4D12472A910C1ACACFB56EFB",
          "subtype" : "system_subtotal",
          "name" : "Total"
        }
      },
      "ms-TemplateMetricSubtotals" : {
        "title" : "Template Metric Subtotals",
        "type" : "array",
        "description" : "the custom defined metric subtotal list used in `subtotal_list` template subtotal",
        "items" : {
          "properties" : {
            "metric" : {
              "$ref" : "#/components/schemas/ms-TemplateMetricInfoReference"
            },
            "subtotal" : {
              "$ref" : "#/components/schemas/ms-TemplateSubtotalInfoReference"
            }
          }
        }
      },
      "ms-EnumJoinType" : {
        "title" : "Join Type",
        "type" : "string",
        "description" : "Join Type",
        "enum" : [ "inner", "outer" ]
      },
      "ms-PromptLocation" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "the prompt location name"
          },
          "type" : {
            "type" : "string",
            "description" : "String literal used to identify the object type, according to values from EnumDSSObjectType."
          }
        },
        "description" : "prompt"
      },
      "ms-EngineConfigFacet" : {
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string"
          },
          "caseSensitive" : {
            "type" : "boolean"
          },
          "query" : {
            "type" : "String"
          },
          "type" : {
            "type" : "string"
          },
          "columnName" : {
            "type" : "string"
          },
          "omitError" : {
            "type" : "boolean"
          },
          "expression" : {
            "type" : "string"
          },
          "selectBlank" : {
            "type" : "string"
          },
          "selection" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "v" : {
                  "type" : "V"
                }
              }
            }
          },
          "omitBlank" : {
            "type" : "array"
          },
          "from" : {
            "type" : "string"
          },
          "to" : {
            "type" : "string"
          },
          "selectTime" : {
            "type" : "boolean"
          },
          "selectNumeric" : {
            "type" : "boolean"
          }
        }
      },
      "ms-dataServerDataOptions" : {
        "type" : "object",
        "properties" : {
          "header" : {
            "type" : "boolean",
            "description" : "Treat the first row as header or not",
            "default" : true
          },
          "quote" : {
            "type" : "string",
            "description" : "The quote for csv file",
            "default" : "\""
          },
          "separator" : {
            "type" : "string",
            "description" : "The field separator for csv file",
            "default" : ","
          },
          "skipLines" : {
            "type" : "integer",
            "description" : "The lines to skip",
            "default" : 0
          },
          "locale" : {
            "type" : "string",
            "description" : "The locale for data formatting",
            "default" : "en-US"
          },
          "encoding" : {
            "type" : "string",
            "description" : "Decodes the file by the given encoding type",
            "default" : "UTF-8"
          }
        }
      },
      "ms-dataServerDataSourceType" : {
        "type" : "string",
        "description" : "the import source type",
        "enum" : [ "custom_sql", "single_table", "python", "file_from_url", "sample_files", "file_from_public_data", "generic_data", "bi_sources", "salesforce", "dropbox", "google_drive", "google_analytics", "s4_hana", "b_w4_hana", "sap_bw_odata", "sap_ecc_odata", "google_big_query_ffsql_model", "google_big_query_single_table", "python_query", "xquery" ]
      },
      "ms-PredicateParameterDynamicDateTime" : {
        "title" : "Dynamic Date/Time Parameter in Predicate",
        "description" : "Object used to describe a parameter that appears in a filter predicate and whose value\nis a dynamic date/time.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "required" : [ "dynamicDateTime" ],
          "type" : "object",
          "properties" : {
            "dynamicDateTime" : {
              "type" : "object",
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-StructDynamicDateTime"
              } ]
            }
          }
        } ]
      },
      "ms-PredicateParameterArray" : {
        "title" : "Constant Array Parameter in Predicate",
        "description" : "Object used to describe a parameter that appears in a filter predicate and whose value is a list\nof constants.\n\nThis kind of parameter is very specific.  It is used for the `in` and `notIn` comparison functions.\nThese functions compare one value with an array of constant values.\nNote that all of the values in the array must have the same type.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "required" : [ "constants", "constantsType" ],
          "type" : "object",
          "properties" : {
            "constantsType" : {
              "$ref" : "#/components/schemas/ms-EnumVariantType"
            },
            "constants" : {
              "type" : "array",
              "description" : "Array of constant values, each of which is encoded as a string in a standard, locale-neutral\nrepresentation.  Their common datatype is given by `constantsType`.\n",
              "items" : {
                "type" : "string"
              }
            }
          }
        } ]
      },
      "ms-PredicateParameterExpression" : {
        "title" : "Expression Parameter in Predicate",
        "description" : "Object used to describe a parameter that appears in a filter predicate and whose value is\ngiven as a custom expression.\nThis predicate parameter option is used for when the end user wants to provide a custom\nexpression for the predicate.  We would expect the parser to be used to modify the expression.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "required" : [ "expression" ],
          "type" : "object",
          "properties" : {
            "expression" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              } ]
            }
          }
        } ]
      },
      "ms-PredicateParameterConstant" : {
        "title" : "Constant Parameter in Predicate",
        "description" : "Object used to describe a parameter that appears in a filter predicate and whose value is constant.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "required" : [ "constant" ],
          "type" : "object",
          "properties" : {
            "constant" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-StructVariant"
              }, {
                "description" : "The typed value used in the predicate"
              } ]
            }
          }
        } ]
      },
      "ms-TemplateMetricElement" : {
        "title" : "Template Metric Element",
        "required" : [ "id", "subType" ],
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectName"
            }, {
              "readOnly" : true
            } ]
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the template metric element"
          }
        }
      },
      "ms-StructVersatileTime" : {
        "title" : "Versatile Time",
        "required" : [ "hourMode", "minuteAndSecondMode" ],
        "type" : "object",
        "properties" : {
          "hourMode" : {
            "type" : "string",
            "enum" : [ "dynamic", "static" ]
          },
          "hour" : {
            "type" : "integer",
            "description" : "The hour component (0-23). Used when the hour is static."
          },
          "hourOffset" : {
            "type" : "integer",
            "description" : "The offset from the current hour. Used when the hour is dynamic."
          },
          "minuteAndSecondMode" : {
            "type" : "string",
            "enum" : [ "dynamic", "static" ]
          },
          "minute" : {
            "type" : "integer",
            "description" : "The minute component (0-59). Used when the minute is static."
          },
          "minuteOffset" : {
            "type" : "integer",
            "description" : "The offset from the current minute. Used when the minute is dynamic."
          },
          "second" : {
            "type" : "integer",
            "description" : "The second component (0-59). Used when the second is static."
          },
          "secondOffset" : {
            "type" : "integer",
            "description" : "The offset from the current second. Used when the second is dynamic."
          }
        },
        "description" : "Object that represents either a dynamic time or a static time"
      },
      "ms-StructVersatileDate" : {
        "title" : "Versatile Date",
        "required" : [ "mode" ],
        "type" : "object",
        "properties" : {
          "mode" : {
            "type" : "string",
            "enum" : [ "dynamic", "static" ]
          }
        },
        "description" : "Object that represents either a dynamic date or a static date.",
        "discriminator" : {
          "propertyName" : "mode",
          "mapping" : {
            "dynamic" : "StructVersatileDateDynamic",
            "static" : "StructVersatileDateStatic"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-StructVersatileDateDynamic"
        }, {
          "$ref" : "#/components/schemas/ms-StructVersatileDateStatic"
        } ]
      },
      "ms-PredicateParameter" : {
        "title" : "Any Predicate Parameter",
        "required" : [ "parameterType" ],
        "description" : "One of the various mechanisms used to specify a predicate parameter",
        "example" : {
          "parameterType" : "constant",
          "constant" : {
            "type" : "string",
            "value" : "Northeast"
          }
        },
        "discriminator" : {
          "propertyName" : "parameterType",
          "mapping" : {
            "constant" : "PredicateParameterConstant",
            "object_reference" : "PredicateParameterObject",
            "expression" : "PredicateParameterExpression",
            "prompt" : "PredicateParameterPrompt",
            "array" : "PredicateParameterArray",
            "dynamic_date_time" : "PredicateParameterDynamicDateTime"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterConstant"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateParameterObject"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateParameterExpression"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateParameterPrompt"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateParameterArray"
        }, {
          "$ref" : "#/components/schemas/ms-PredicateParameterDynamicDateTime"
        } ]
      },
      "ms-ReportTemplateUnit" : {
        "title" : "Template Unit",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "A unit describes the layout of the grid for the report.",
            "enum" : [ "attribute", "dimension", "metrics", "custom_group", "consolidation", "prompt" ]
          },
          "evaluationOrder" : {
            "$ref" : "#/components/schemas/ms-EvaluationOrder"
          },
          "drillMap" : {
            "$ref" : "#/components/schemas/ms-DrillMapReference"
          }
        },
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "attribute" : "ReportAttributeTemplateUnit",
            "dimension" : "ReportSingleObjectTemplateUnit",
            "metrics" : "ReportMetricsTemplateUnit",
            "custom_group" : "ReportSingleObjectTemplateUnit",
            "consolidation" : "ReportSingleObjectTemplateUnit",
            "prompt" : "ReportSingleObjectTemplateUnit"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/ms-ReportAttributeTemplateUnit"
        }, {
          "$ref" : "#/components/schemas/ms-ReportMetricsTemplateUnit"
        }, {
          "$ref" : "#/components/schemas/ms-ReportSingleObjectTemplateUnit"
        } ]
      },
      "ms-SubtotalsPositionSort" : {
        "title" : "Subtotals Position Sort",
        "required" : [ "subtotalsPosition", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "example" : "subtotals_position",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          },
          "subtotalsPosition" : {
            "$ref" : "#/components/schemas/ms-SubtotalsPosition"
          }
        },
        "description" : "the subtotal positions sort"
      },
      "ms-MetricHierarchicalSort" : {
        "title" : "Metric Hierarchical Sort",
        "required" : [ "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateMetricInfoReference"
          },
          "order" : {
            "$ref" : "#/components/schemas/ms-SortOrder"
          },
          "type" : {
            "type" : "string",
            "example" : "metric_hierarchical",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          },
          "subtotalsPosition" : {
            "$ref" : "#/components/schemas/ms-SubtotalsPosition"
          },
          "sortOnElements" : {
            "$ref" : "#/components/schemas/ms-SortOnElements"
          },
          "subtotal" : {
            "$ref" : "#/components/schemas/ms-SubtotalReferenceInSort"
          }
        },
        "description" : "the metric sort with hierarchical flag defined"
      },
      "ms-MetricSort" : {
        "title" : "Metric Sort",
        "required" : [ "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateMetricInfoReference"
          },
          "order" : {
            "$ref" : "#/components/schemas/ms-SortOrder"
          },
          "type" : {
            "type" : "string",
            "example" : "metric",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          },
          "subtotalsPosition" : {
            "$ref" : "#/components/schemas/ms-SubtotalsPosition"
          },
          "sortOnElements" : {
            "$ref" : "#/components/schemas/ms-SortOnElements"
          }
        },
        "description" : "the sort defined on metric"
      },
      "ms-CustomGroupSort" : {
        "title" : "Custom Group Sort",
        "required" : [ "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateCustomGroupInfoReference"
          },
          "order" : {
            "$ref" : "#/components/schemas/ms-SortOrder"
          },
          "type" : {
            "type" : "string",
            "example" : "custom_group_form",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          },
          "subtotalsPosition" : {
            "$ref" : "#/components/schemas/ms-SubtotalsPosition"
          },
          "customGroupSortType" : {
            "$ref" : "#/components/schemas/ms-CustomGroupSortType"
          },
          "parentFirst" : {
            "$ref" : "#/components/schemas/ms-ParentFirst"
          }
        },
        "description" : "the sort defined on custom group"
      },
      "ms-ConsolidationSort" : {
        "title" : "Consolidation Sort",
        "required" : [ "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateConsolidationInfoReference"
          },
          "order" : {
            "$ref" : "#/components/schemas/ms-SortOrder"
          },
          "type" : {
            "type" : "string",
            "example" : "consolidation_default",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          }
        },
        "description" : "the sort defined on consolidation"
      },
      "ms-AttributeSort" : {
        "title" : "Attribute Default Sort",
        "required" : [ "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateAttributeInfoReference"
          },
          "type" : {
            "type" : "string",
            "example" : "attribute_default",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          }
        },
        "description" : "the sort defined on attribute"
      },
      "ms-AttributeFormSort" : {
        "title" : "Attribute Form Sort",
        "required" : [ "form", "target", "type" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "$ref" : "#/components/schemas/ms-TemplateAttributeInfoReference"
          },
          "form" : {
            "$ref" : "#/components/schemas/ms-TemplateAttributeFormInfoReference"
          },
          "order" : {
            "$ref" : "#/components/schemas/ms-SortOrder"
          },
          "type" : {
            "type" : "string",
            "example" : "attribute_form",
            "enum" : [ "attribute_form", "attribute_default", "metric", "metric_hierarchical", "custom_group_form", "consolidation_default", "subtotals_position" ]
          },
          "subtotalsPosition" : {
            "$ref" : "#/components/schemas/ms-SubtotalsPosition"
          }
        },
        "description" : "the sort defined on attribute form"
      },
      "ms-SubtotalStyle" : {
        "title" : "Subtotal style",
        "type" : "string",
        "enum" : [ "none", "grand_total", "all_subtotals", "selected_subtotals" ]
      },
      "ms-TemplateMetricInfoReference" : {
        "title" : "Metric Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          },
          "isEmbedded" : {
            "type" : "boolean",
            "description" : "If true indicates that the target object of this reference is embedded within this object.\nAlternatively if this object is itself embedded, then it means that the target object is\nembedded in the same container as this object.\n\nIf this field is omitted (as is usual) then the target is not embedded.\n"
          }
        },
        "description" : "the metric object info reference used in template",
        "example" : {
          "objectId" : "7FD5B69611D5AC76C000D98A4CC5F24F",
          "subtype" : "metric",
          "name" : "Cost"
        }
      },
      "ms-PredicateParameterBase" : {
        "title" : "Predicate Parameter (Base)",
        "required" : [ "parameterType" ],
        "type" : "object",
        "properties" : {
          "parameterType" : {
            "type" : "string",
            "description" : "The representation used for this parameter",
            "enum" : [ "constant", "object_reference", "expression", "prompt", "array", "dynamic_date_time" ]
          }
        },
        "description" : "Common values that are shared by all kinds of Predicate Expression Parameters"
      },
      "ms-StructVersatileDateStatic" : {
        "title" : "Versatile Date (static)",
        "required" : [ "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "description" : "ISO 8601 string of the date component"
          }
        },
        "description" : "Object that represents a static date"
      },
      "ms-StructVersatileDateDynamic" : {
        "title" : "Versatile Date (dynamic)",
        "type" : "object",
        "properties" : {
          "dayOffset" : {
            "type" : "integer",
            "description" : "The day offset"
          },
          "monthOffset" : {
            "type" : "integer",
            "description" : "The month offset"
          },
          "excludeWeekends" : {
            "type" : "boolean",
            "description" : "Whether weekend days should be excluded during calculation",
            "default" : false
          }
        },
        "description" : "Object that represents a dynamic date. Its various settings define a function that will\nresolve to a date using the current date as the input.\n",
        "oneOf" : [ {
          "type" : "object",
          "properties" : {
            "adjustmentNone" : {
              "type" : "object",
              "description" : "Indicate that there is no further adjustments"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentWeeklyByDayOfWeek" : {
              "required" : [ "dayOfWeek" ],
              "type" : "object",
              "properties" : {
                "dayOfWeek" : {
                  "type" : "integer",
                  "description" : "Day of week (0 - Sunday, ... , 6 - Saturday)"
                }
              },
              "description" : "Adjustment at the week level by day of week"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentMonthlyByDay" : {
              "required" : [ "day" ],
              "type" : "object",
              "properties" : {
                "day" : {
                  "type" : "integer",
                  "description" : "Day of month (1 - 31)"
                }
              },
              "description" : "Adjustment at the month level by day"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentMonthlyByDayOfWeek" : {
              "required" : [ "dayOfWeek", "weekOrdinal" ],
              "type" : "object",
              "properties" : {
                "weekOrdinal" : {
                  "type" : "integer",
                  "description" : "Number indicating 1st, 2nd, 3rd, etc."
                },
                "dayOfWeek" : {
                  "type" : "integer",
                  "description" : "Day of week (0 - Sunday, ... , 6 - Saturday)"
                }
              },
              "description" : "Adjustment at the month level by day of week"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentMonthlyByReverseCount" : {
              "required" : [ "days", "months" ],
              "type" : "object",
              "properties" : {
                "days" : {
                  "type" : "integer",
                  "description" : "Number of days to reverse count"
                },
                "months" : {
                  "type" : "integer",
                  "description" : "Number of months to reverse count"
                }
              },
              "description" : "Adjustment at the month level by reverse count"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentQuarterlyByDay" : {
              "required" : [ "day" ],
              "type" : "object",
              "properties" : {
                "day" : {
                  "type" : "integer",
                  "description" : "Day in the quarter"
                }
              },
              "description" : "Adjustment at the quarter level by day"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentQuarterlyByDayOfWeek" : {
              "required" : [ "dayOfWeek", "monthOrdinal", "weekOrdinal" ],
              "type" : "object",
              "properties" : {
                "monthOrdinal" : {
                  "type" : "integer",
                  "description" : "Number indicating 1st, 2nd, or 3rd month in the quarter"
                },
                "weekOrdinal" : {
                  "type" : "integer",
                  "description" : "Number indicating 1st, 2nd, 3rd, etc."
                },
                "dayOfWeek" : {
                  "type" : "integer",
                  "description" : "Day of week (0 - Sunday, ... , 6 - Saturday)"
                }
              },
              "description" : "Adjustment at the quarter level by day of week"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentQuarterlyByReverseCount" : {
              "required" : [ "days" ],
              "type" : "object",
              "properties" : {
                "days" : {
                  "type" : "integer",
                  "description" : "Number of days to reverse count"
                }
              },
              "description" : "Adjustment at the quarter level by reverse count"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentYearlyByDate" : {
              "required" : [ "day", "month" ],
              "type" : "object",
              "properties" : {
                "month" : {
                  "type" : "integer",
                  "description" : "Month of the year (1 - 12)"
                },
                "day" : {
                  "type" : "integer",
                  "description" : "Day of month (1 - 31)"
                }
              },
              "description" : "Adjustment at the year level by date"
            }
          }
        }, {
          "type" : "object",
          "properties" : {
            "adjustmentYearlyByDayOfWeek" : {
              "required" : [ "dayOfWeek", "month", "weekOrdinal" ],
              "type" : "object",
              "properties" : {
                "month" : {
                  "type" : "integer",
                  "description" : "Month of the year (1 - 12)"
                },
                "weekOrdinal" : {
                  "type" : "integer",
                  "description" : "Number indicating 1st, 2nd, 3rd, etc."
                },
                "dayOfWeek" : {
                  "type" : "integer",
                  "description" : "Day of week (0 - Sunday, ... , 6 - Saturday)"
                }
              },
              "description" : "Adjustment at the year level by day of week"
            }
          }
        } ]
      },
      "ms-PredicateParameterPrompt" : {
        "title" : "Prompt Parameter in Predicate",
        "description" : "Object used to describe a parameter that appears in a filter predicate and whose value will\nbe obtained on execution by resolving a _prompt object_.\n\nThe prompt could be any type of prompt that returns a simple value: integer prompt, double prompt,\nbig-decimal prompt, string prompt or date prompt.\nThe prompt should be consistent with the data type of the value to be compared with the prompt.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "type" : "object",
          "properties" : {
            "prompt" : {
              "$ref" : "#/components/schemas/ms-ObjectInfoReference"
            }
          }
        } ]
      },
      "ms-PredicateParameterObject" : {
        "title" : "Object Reference Parameter in Predicate",
        "description" : "Object that describe a parameter that appears in a filter predicate and whose value is an object reference.\nFor example, a parameter of this type would be used by a filter predicate that compares the value of two\nmetrics.  This would be modelled by using a metric predicate (containing one of the two metrics);\nthis parameter would then be used to record the other metric.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-PredicateParameterBase"
        }, {
          "required" : [ "target" ],
          "type" : "object",
          "properties" : {
            "target" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "Reference to the object whose value is compared with the object in the predicate."
              } ]
            }
          }
        } ]
      },
      "ms-ReportSingleObjectTemplateUnit" : {
        "title" : "Single Object Template Unit",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "name" : {
            "allOf" : [ {
              "$ref" : "#/components/schemas/ms-ObjectName"
            }, {
              "readOnly" : true
            } ]
          },
          "alias" : {
            "type" : "string",
            "description" : "The alias of the object in the template unit"
          },
          "allowSubtotal" : {
            "type" : "string",
            "enum" : [ "default", "no", "yes" ]
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ReportTemplateUnit"
        } ]
      },
      "ms-ReportMetricsTemplateUnit" : {
        "title" : "Metrics Template Unit",
        "description" : "A template unit refers to a list of metrics. \n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ReportTemplateUnit"
        }, {
          "type" : "object",
          "properties" : {
            "elements" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-ReportTemplateMetricElement"
              }
            },
            "limit" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-Expression"
              }, {
                "description" : "`predicate_metric_qualification`, `predicate_prompt_qualification` and `operator` nodes are supported.\n Only normal report has report limit. Free form SQL report and subset report does not have report limit.\n"
              } ]
            }
          }
        }, {
          "required" : [ "elements" ]
        } ]
      },
      "ms-ReportAttributeTemplateUnit" : {
        "title" : "Attribute Template Unit",
        "description" : "A template unit refers to an attribute. When the `forms` is _null_, the attribute will use the `displayForms` of the specific attribute. When the `forms` is not null, the report using the template unit will use the forms defined instead of the default value.\n\nThe unit has to point to an attribute and duplicate forms in the unit are not allowed.\n\n`limit` represents that there is a derived element defined on this attribute.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ReportSingleObjectTemplateUnit"
        }, {
          "type" : "object",
          "properties" : {
            "forms" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ms-FormReference"
              }
            },
            "limit" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ExpressionNodeReference"
              }, {
                "description" : "An expression maps attribute template unit to a derived element. `type` must be _reference_."
              } ]
            }
          }
        } ]
      },
      "ms-SubtotalsPosition" : {
        "title" : "Subtotals Position",
        "type" : "string",
        "description" : "Subtotals position is used to define where the subtotals is after apply current sort.\nIt support following values:\n  - `mixed`\n  - `top`\n  - `bottom`\n  - `inherit`\n",
        "enum" : [ "mixed", "top", "bottom", "inherit" ]
      },
      "ms-SortOrder" : {
        "title" : "Sort Order",
        "type" : "string",
        "description" : "the sort order used in template sort",
        "enum" : [ "ascending", "descending" ]
      },
      "ms-SortOnElements" : {
        "title" : "Sort On Element List",
        "type" : "array",
        "description" : "Sort on element list is used in MetricSort or MetricHierarchicalSort. We can define sort on following elements:\n - `concreteElement`: concrete element in attribute\n - `consolidationElement`: cosolidation element in consolidation\n - `customGroupElement`: custom group element in custom group\n - `subtotalElement`: subtotal element in template subtotals\n",
        "items" : {
          "oneOf" : [ {
            "$ref" : "#/components/schemas/ms-ConcreteElementInSort"
          }, {
            "$ref" : "#/components/schemas/ms-ConsolidationElementInSort"
          }, {
            "$ref" : "#/components/schemas/ms-CustomGroupElementInSort"
          }, {
            "$ref" : "#/components/schemas/ms-SubtotalElementInSort"
          } ]
        }
      },
      "ms-SubtotalReferenceInSort" : {
        "title" : "Subtotal Reference In Sort",
        "description" : "the subtotal reference used in sort definition",
        "oneOf" : [ {
          "required" : [ "name", "type" ],
          "properties" : {
            "name" : {
              "type" : "string"
            },
            "type" : {
              "type" : "string",
              "description" : "The subtotal type.",
              "example" : "subtotal_list",
              "enum" : [ "subtotal_list", "subtotal_definition" ]
            }
          },
          "example" : {
            "name" : "New Custom Subtotal",
            "type" : "subtotal_list"
          }
        }, {
          "required" : [ "id", "type" ],
          "properties" : {
            "name" : {
              "type" : "string"
            },
            "type" : {
              "type" : "string",
              "description" : "The subtotal type.",
              "example" : "subtotal_definition",
              "enum" : [ "subtotal_list", "subtotal_definition" ]
            },
            "id" : {
              "$ref" : "#/components/schemas/ms-TypeObjectId"
            }
          },
          "example" : {
            "name" : "Total",
            "type" : "subtotal_definition",
            "id" : "96C487AF4D12472A910C1ACACFB56EFB"
          }
        } ]
      },
      "ms-TemplateCustomGroupInfoReference" : {
        "title" : "Custom Group Object Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          }
        },
        "description" : "the consolidation object info reference used in template",
        "example" : {
          "objectId" : "085CBF314703A71E926EA187C2002969",
          "subtype" : "custom_group",
          "name" : "Age Groups"
        }
      },
      "ms-CustomGroupSortType" : {
        "title" : "Custom Group Sort Type",
        "type" : "string",
        "description" : "Custom group sort type is used to define which criteria current sort is applied on.\nIt support following values:\n  - `inherit_attribute_sort`\n  - `sort_on_attribute_id`\n  - `keep_group_structure`\n",
        "enum" : [ "inherit_attribute_sort", "sort_on_attribute_id", "keep_group_structure" ]
      },
      "ms-ParentFirst" : {
        "title" : "Parent First",
        "type" : "string",
        "description" : "Parent first is used to define where the parenet element locates after applying current sort.\nIt support following values:\n  - `default`\n  - `top`\n  - `bottom`\n",
        "enum" : [ "default", "top", "bottom" ]
      },
      "ms-TemplateConsolidationInfoReference" : {
        "title" : "Consolidation Object Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          }
        },
        "description" : "the consolidation object info reference used in template",
        "example" : {
          "objectId" : "3B0AF9764617B851727670B1A6C1C44E",
          "subtype" : "consolidation",
          "name" : "Seasons"
        }
      },
      "ms-TemplateAttributeInfoReference" : {
        "title" : "Attribute Object Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          }
        },
        "description" : "the attribute object info reference used in template",
        "example" : {
          "objectId" : "8D679D5111D3E4981000E787EC6DE8A4",
          "subtype" : "attribute",
          "name" : "Year"
        }
      },
      "ms-TemplateAttributeFormInfoReference" : {
        "title" : "Attribute Form Object Info Reference",
        "required" : [ "objectId" ],
        "properties" : {
          "objectId" : {
            "$ref" : "#/components/schemas/ms-TypeObjectId"
          },
          "subType" : {
            "$ref" : "#/components/schemas/ms-EnumObjectSubType"
          },
          "name" : {
            "$ref" : "#/components/schemas/ms-ObjectName"
          }
        },
        "description" : "the attribute form object info reference used in template",
        "example" : {
          "objectId" : "45C11FA478E745FEA08D781CEA190FE5",
          "subtype" : "attribute_form_system",
          "name" : "ID"
        }
      },
      "ms-ExpressionNodeReference" : {
        "title" : "Object Reference Node",
        "description" : "An expression node whose value is a reference to some other object in the metadata.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/ms-ExpressionNodeBase"
        }, {
          "type" : "object",
          "properties" : {
            "target" : {
              "allOf" : [ {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              }, {
                "description" : "A reference to another object."
              } ]
            }
          }
        } ]
      },
      "ms-SubtotalElementInSort" : {
        "title" : "Subtotal Element In Sort",
        "properties" : {
          "subtotalElement" : {
            "required" : [ "subtotal", "target" ],
            "type" : "object",
            "properties" : {
              "target" : {
                "$ref" : "#/components/schemas/ms-ObjectInfoReference"
              },
              "subtotal" : {
                "$ref" : "#/components/schemas/ms-SubtotalReferenceInSort"
              }
            },
            "example" : {
              "target" : {
                "objectId" : "3B0AF9764617B851727670B1A6C1C44E",
                "subtype" : "consolidation",
                "name" : "Seasons"
              },
              "subtotal" : {
                "name" : "Total",
                "type" : "subtotal_definition",
                "id" : "96C487AF4D12472A910C1ACACFB56EFB"
              }
            }
          }
        },
        "description" : "The subtotal element used in current sort."
      },
      "ms-CustomGroupElementInSort" : {
        "title" : "Custom Group Element In Sort",
        "properties" : {
          "customGroupElement" : {
            "required" : [ "customGroup", "elementIndex" ],
            "type" : "object",
            "properties" : {
              "customGroup" : {
                "$ref" : "#/components/schemas/ms-TemplateCustomGroupInfoReference"
              },
              "elementIndex" : {
                "type" : "integer",
                "description" : "the custom group element index, starts from 0.",
                "example" : 1
              },
              "elementName" : {
                "$ref" : "#/components/schemas/ms-ObjectName"
              }
            }
          }
        },
        "description" : "The custom group element used in current sort."
      },
      "ms-ConsolidationElementInSort" : {
        "title" : "Consolidation Element In Sort",
        "properties" : {
          "consolidationElement" : {
            "required" : [ "consolidation", "elementId" ],
            "type" : "object",
            "properties" : {
              "consolidation" : {
                "$ref" : "#/components/schemas/ms-TemplateConsolidationInfoReference"
              },
              "elementId" : {
                "$ref" : "#/components/schemas/ms-TypeObjectId"
              },
              "elementName" : {
                "$ref" : "#/components/schemas/ms-ObjectName"
              }
            }
          }
        },
        "description" : "The consolidation element used in current sort."
      },
      "ms-ConcreteElementInSort" : {
        "title" : "Concrete Element In Sort",
        "properties" : {
          "concreteElement" : {
            "$ref" : "#/components/schemas/ms-ElementConcrete"
          }
        },
        "description" : "The concrete element used in current sort."
      },
      "Body_create_new_question_set_questionSets_post" : {
        "title" : "Body_create_new_question_set_questionSets_post",
        "required" : [ "file" ],
        "properties" : {
          "file" : {
            "title" : "File",
            "description" : "CSV or XLSX file upload",
            "format" : "binary"
          },
          "name" : {
            "title" : "Name",
            "default" : ""
          },
          "description" : {
            "title" : "Description",
            "default" : ""
          }
        }
      },
      "Body_replace_document_unstructured__id__put" : {
        "title" : "Body_replace_document_unstructured__id__put",
        "required" : [ "file" ],
        "properties" : {
          "file" : {
            "title" : "File",
            "format" : "binary"
          }
        }
      },
      "Body_upload_document_unstructured_post" : {
        "title" : "Body_upload_document_unstructured_post",
        "required" : [ "file", "file_id" ],
        "properties" : {
          "file" : {
            "title" : "File",
            "format" : "binary"
          },
          "file_id" : {
            "title" : "File Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "ChronicleIngestRequest" : {
        "title" : "ChronicleIngestRequest",
        "required" : [ "database_name", "user_id", "user_text" ],
        "properties" : {
          "user_id" : {
            "title" : "User Id"
          },
          "agent_id" : {
            "title" : "Agent Id",
            "anyOf" : [ { }, { } ]
          },
          "session_id" : {
            "title" : "Session Id",
            "anyOf" : [ { }, { } ]
          },
          "user_text" : {
            "title" : "User Text"
          },
          "location" : {
            "title" : "Location",
            "anyOf" : [ { }, { } ]
          },
          "timezone" : {
            "title" : "Timezone",
            "anyOf" : [ { }, { } ]
          },
          "source" : {
            "title" : "Source",
            "default" : "chat"
          },
          "database_name" : {
            "title" : "Database Name"
          },
          "memory_table_name" : {
            "title" : "Memory Table Name",
            "default" : "memory_entries"
          },
          "memory_facts_table_name" : {
            "title" : "Memory Facts Table Name",
            "default" : "memory_facts"
          },
          "atomic_max_age_days" : {
            "title" : "Atomic Max Age Days",
            "anyOf" : [ { }, { } ],
            "default" : 90
          },
          "facts_max_age_days" : {
            "title" : "Facts Max Age Days",
            "anyOf" : [ { }, { } ],
            "default" : 365
          },
          "enable_semantic_dedup" : {
            "title" : "Enable Semantic Dedup",
            "default" : true
          },
          "dedup_similarity_threshold" : {
            "title" : "Dedup Similarity Threshold",
            "default" : 0.9
          },
          "atomic_keep_last_n" : {
            "title" : "Atomic Keep Last N",
            "default" : 2000
          },
          "enable_atomic_consolidation" : {
            "title" : "Enable Atomic Consolidation",
            "default" : true
          },
          "atomic_consolidation_window_size" : {
            "title" : "Atomic Consolidation Window Size",
            "default" : 6
          },
          "atomic_consolidation_min_items" : {
            "title" : "Atomic Consolidation Min Items",
            "default" : 3
          }
        },
        "description" : "Payload sent by chat service after every user turn."
      },
      "ChronicleIngestResponse" : {
        "title" : "ChronicleIngestResponse",
        "required" : [ "success" ],
        "properties" : {
          "success" : {
            "title" : "Success"
          },
          "message" : {
            "title" : "Message",
            "default" : ""
          }
        }
      },
      "ChronicleInitSchemaRequest" : {
        "title" : "ChronicleInitSchemaRequest",
        "required" : [ "database_name" ],
        "properties" : {
          "database_name" : {
            "title" : "Database Name"
          },
          "memory_table_name" : {
            "title" : "Memory Table Name",
            "default" : "memory_entries"
          },
          "memory_facts_table_name" : {
            "title" : "Memory Facts Table Name",
            "default" : "memory_facts"
          },
          "drop_and_recreate" : {
            "title" : "Drop And Recreate",
            "default" : false
          }
        }
      },
      "ChronicleTouchRequest" : {
        "title" : "ChronicleTouchRequest",
        "required" : [ "database_name", "entry_ids", "user_id" ],
        "properties" : {
          "user_id" : {
            "title" : "User Id"
          },
          "memory_kind" : {
            "title" : "Memory Kind",
            "default" : "facts"
          },
          "entry_ids" : {
            "title" : "Entry Ids",
            "items" : { }
          },
          "agent_id" : {
            "title" : "Agent Id",
            "anyOf" : [ { }, { } ]
          },
          "session_id" : {
            "title" : "Session Id",
            "anyOf" : [ { }, { } ]
          },
          "database_name" : {
            "title" : "Database Name"
          },
          "memory_table_name" : {
            "title" : "Memory Table Name",
            "default" : "memory_entries"
          },
          "memory_facts_table_name" : {
            "title" : "Memory Facts Table Name",
            "default" : "memory_facts"
          }
        },
        "description" : "Update ``last_used_at`` for retrieved entries."
      },
      "ExportDataColumnDefinition" : {
        "title" : "ExportDataColumnDefinition",
        "required" : [ "column_name" ],
        "properties" : {
          "column_name" : {
            "title" : "Column Name"
          },
          "type" : {
            "title" : "Type",
            "anyOf" : [ { }, { } ]
          },
          "dtype" : {
            "title" : "Dtype",
            "anyOf" : [ { }, { } ]
          },
          "base_form_type" : {
            "title" : "Base Form Type",
            "anyOf" : [ { }, { } ]
          },
          "calculated_percentage" : {
            "title" : "Calculated Percentage",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "ExportDataRequest" : {
        "title" : "ExportDataRequest",
        "required" : [ "column_formats", "columns", "locale", "sql_query" ],
        "properties" : {
          "sql_query" : {
            "title" : "Sql Query"
          },
          "column_formats" : {
            "title" : "Column Formats",
            "additionalProperties" : {
              "anyOf" : [ { }, { } ]
            }
          },
          "columns" : {
            "title" : "Columns",
            "items" : {
              "$ref" : "#/components/schemas/ExportDataColumnDefinition"
            }
          },
          "export_type" : {
            "title" : "Export Type",
            "default" : "xlsx"
          },
          "locale" : {
            "title" : "Locale"
          },
          "question_id" : {
            "title" : "Question Id",
            "anyOf" : [ { }, { } ]
          },
          "sort_keys" : {
            "title" : "Sort Keys",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/SortKey"
              }
            }, { } ]
          },
          "usl_bot_enabled" : {
            "title" : "Usl Bot Enabled",
            "default" : false
          },
          "custom_columns" : {
            "title" : "Custom Columns",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "data" : {
            "title" : "Data",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : { }
              }
            }, { } ]
          }
        }
      },
      "HTTPValidationError" : {
        "title" : "HTTPValidationError",
        "properties" : {
          "detail" : {
            "title" : "Detail",
            "items" : {
              "$ref" : "#/components/schemas/ValidationError"
            }
          }
        }
      },
      "IngestStatusEnum" : {
        "title" : "IngestStatusEnum",
        "enum" : [ -1, 0, 1, 2, 3, 4, 5, 6 ]
      },
      "KeyDriverAnalysisRequest" : {
        "title" : "KeyDriverAnalysisRequest",
        "required" : [ "question", "sql_query", "target_column_name" ],
        "properties" : {
          "question" : {
            "title" : "Question"
          },
          "target_column_name" : {
            "title" : "Target Column Name"
          },
          "sql_query" : {
            "title" : "Sql Query"
          },
          "explicitly_included_columns" : {
            "title" : "Explicitly Included Columns",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "explicitly_excluded_columns" : {
            "title" : "Explicitly Excluded Columns",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "use_usl" : {
            "title" : "Use Usl",
            "default" : false
          }
        }
      },
      "KeyDriverAnalysisResponse" : {
        "title" : "KeyDriverAnalysisResponse",
        "required" : [ "top_features" ],
        "properties" : {
          "top_features" : {
            "title" : "Top Features",
            "items" : {
              "$ref" : "#/components/schemas/KeyDriverAnalysisResult"
            }
          }
        }
      },
      "KeyDriverAnalysisResult" : {
        "title" : "KeyDriverAnalysisResult",
        "required" : [ "feat_corr", "feat_corr_type", "feature", "feature_metrics", "feature_type", "mrmr_score", "relevance_score", "viz_business_implications", "viz_key_findings", "viz_summary", "viz_type" ],
        "properties" : {
          "feature" : {
            "title" : "Feature"
          },
          "mrmr_score" : {
            "title" : "Mrmr Score"
          },
          "relevance_score" : {
            "title" : "Relevance Score"
          },
          "feature_type" : {
            "title" : "Feature Type"
          },
          "viz_type" : {
            "title" : "Viz Type"
          },
          "viz_summary" : {
            "title" : "Viz Summary"
          },
          "viz_key_findings" : {
            "title" : "Viz Key Findings"
          },
          "viz_business_implications" : {
            "title" : "Viz Business Implications"
          },
          "feat_corr" : {
            "title" : "Feat Corr",
            "anyOf" : [ { }, { } ]
          },
          "feat_corr_type" : {
            "title" : "Feat Corr Type",
            "anyOf" : [ { }, { } ]
          },
          "feature_metrics" : {
            "$ref" : "#/components/schemas/QuantifiableFeatureMetrics"
          },
          "image_data_uri" : {
            "title" : "Image Data Uri",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "LibraryRecommendationObject" : {
        "title" : "LibraryRecommendationObject",
        "required" : [ "object_id", "project_id", "recommendation_score", "seen", "source", "type" ],
        "properties" : {
          "object_id" : {
            "title" : "Object Id"
          },
          "project_id" : {
            "title" : "Project Id"
          },
          "recommendation_score" : {
            "title" : "Recommendation Score"
          },
          "type" : {
            "title" : "Type"
          },
          "source" : {
            "title" : "Source"
          },
          "seen" : {
            "title" : "Seen"
          }
        },
        "description" : "Single recommendation object with dashboard details"
      },
      "LibraryRecommendationsResponse" : {
        "title" : "LibraryRecommendationsResponse",
        "required" : [ "objects", "summary" ],
        "properties" : {
          "objects" : {
            "title" : "Objects",
            "items" : {
              "$ref" : "#/components/schemas/LibraryRecommendationObject"
            }
          },
          "summary" : {
            "title" : "Summary"
          }
        },
        "description" : "Response structure for library recommendations"
      },
      "OrgDirectoryProviderType" : {
        "title" : "OrgDirectoryProviderType",
        "description" : "Available org-directory providers.",
        "enum" : [ "graph", "csv", "none" ]
      },
      "QuantifiableFeatureMetrics" : {
        "title" : "QuantifiableFeatureMetrics",
        "required" : [ "association_strength", "directional_consistency", "effect_size", "explained_variance_pct", "outlier_sensitivity", "population_coverage_pct", "volatility_change_pct" ],
        "properties" : {
          "association_strength" : {
            "title" : "Association Strength"
          },
          "effect_size" : {
            "title" : "Effect Size",
            "additionalProperties" : {
              "anyOf" : [ { }, { }, { }, {
                "items" : { }
              }, { } ]
            }
          },
          "explained_variance_pct" : {
            "title" : "Explained Variance Pct"
          },
          "directional_consistency" : {
            "title" : "Directional Consistency",
            "additionalProperties" : {
              "anyOf" : [ { }, { }, { } ]
            }
          },
          "population_coverage_pct" : {
            "title" : "Population Coverage Pct"
          },
          "volatility_change_pct" : {
            "title" : "Volatility Change Pct"
          },
          "outlier_sensitivity" : {
            "title" : "Outlier Sensitivity"
          }
        }
      },
      "QuestionDefinition" : {
        "title" : "QuestionDefinition",
        "required" : [ "question" ],
        "properties" : {
          "questionId" : {
            "title" : "Questionid",
            "description" : "Unique question ID",
            "anyOf" : [ { }, { } ]
          },
          "question" : {
            "title" : "Question",
            "description" : "The question text"
          },
          "expectedAnswer" : {
            "title" : "Expectedanswer",
            "description" : "Expected text answer",
            "anyOf" : [ { }, { } ]
          },
          "category" : {
            "title" : "Category",
            "description" : "Optional question category",
            "anyOf" : [ { }, { } ]
          },
          "answerType" : {
            "title" : "Answertype",
            "description" : "text, image, or both. Defaults to text",
            "anyOf" : [ { }, { } ],
            "default" : "text"
          },
          "expectedImageUrl" : {
            "title" : "Expectedimageurl",
            "description" : "URL to expected image/chart",
            "anyOf" : [ { }, { } ]
          },
          "expectedImageData" : {
            "title" : "Expectedimagedata",
            "description" : "Base64-encoded image data",
            "anyOf" : [ { }, { } ]
          },
          "imageMimeType" : {
            "title" : "Imagemimetype",
            "description" : "Required if expectedImageData is provided",
            "anyOf" : [ { }, { } ]
          }
        },
        "description" : "Model for individual question in a question set"
      },
      "QuestionSetCreateResponse" : {
        "title" : "QuestionSetCreateResponse",
        "required" : [ "id", "recordsImported", "status" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "description" : "Question set ID"
          },
          "status" : {
            "title" : "Status",
            "description" : "Status of the creation request"
          },
          "recordsImported" : {
            "title" : "Recordsimported",
            "description" : "Number of records imported"
          }
        },
        "description" : "Model for the response after creating a question set"
      },
      "QuestionSetListItem" : {
        "title" : "QuestionSetListItem",
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "description" : "Question set ID"
          },
          "name" : {
            "title" : "Name",
            "description" : "Question set name"
          },
          "createdAt" : {
            "title" : "Createdat",
            "description" : "Creation timestamp",
            "anyOf" : [ {
              "format" : "date-time"
            }, { } ]
          }
        },
        "description" : "Model for a question set item in a list"
      },
      "QuestionSetListResponse" : {
        "title" : "QuestionSetListResponse",
        "required" : [ "items", "page", "size", "total" ],
        "properties" : {
          "items" : {
            "title" : "Items",
            "description" : "List of question set items",
            "items" : {
              "$ref" : "#/components/schemas/QuestionSetListItem"
            }
          },
          "total" : {
            "title" : "Total",
            "description" : "Total number of question sets"
          },
          "page" : {
            "title" : "Page",
            "description" : "Current page number"
          },
          "size" : {
            "title" : "Size",
            "description" : "Page size"
          }
        },
        "description" : "Model for paginated list of question sets"
      },
      "QuestionSetResponse" : {
        "title" : "QuestionSetResponse",
        "required" : [ "description", "id", "name", "questions" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "description" : "Question set ID"
          },
          "name" : {
            "title" : "Name",
            "description" : "Question set name"
          },
          "description" : {
            "title" : "Description",
            "description" : "Question set description"
          },
          "createdAt" : {
            "title" : "Createdat",
            "description" : "Creation timestamp",
            "anyOf" : [ {
              "format" : "date-time"
            }, { } ]
          },
          "updatedAt" : {
            "title" : "Updatedat",
            "description" : "Last update timestamp",
            "anyOf" : [ {
              "format" : "date-time"
            }, { } ]
          },
          "questions" : {
            "title" : "Questions",
            "description" : "List of questions in the set",
            "items" : {
              "$ref" : "#/components/schemas/QuestionDefinition"
            }
          }
        },
        "description" : "Model for fetching a Question Set"
      },
      "TrainRecommendationsRequest" : {
        "title" : "TrainRecommendationsRequest",
        "properties" : {
          "start_date" : {
            "title" : "Start Date",
            "anyOf" : [ { }, { } ]
          },
          "end_date" : {
            "title" : "End Date",
            "anyOf" : [ { }, { } ]
          },
          "project_ids" : {
            "title" : "Project Ids",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "object_ids" : {
            "title" : "Object Ids",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "object_types" : {
            "title" : "Object Types",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "user_ids" : {
            "title" : "User Ids",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "force_reload" : {
            "title" : "Force Reload",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "odp_access_token" : {
            "title" : "Odp Access Token",
            "anyOf" : [ { }, { } ]
          },
          "org_directory_provider" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/OrgDirectoryProviderType"
            }, { } ]
          }
        },
        "description" : "Request body for training recommendations"
      },
      "TrainRecommendationsResponse" : {
        "title" : "TrainRecommendationsResponse",
        "required" : [ "status", "success" ],
        "properties" : {
          "status" : {
            "title" : "Status"
          },
          "success" : {
            "title" : "Success"
          },
          "details" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/TrainingDetails"
            }, { } ]
          }
        },
        "description" : "Response structure for training recommendations"
      },
      "TrainingDetails" : {
        "title" : "TrainingDetails",
        "required" : [ "duration_seconds" ],
        "properties" : {
          "error" : {
            "title" : "Error",
            "anyOf" : [ { }, { } ]
          },
          "duration_seconds" : {
            "title" : "Duration Seconds"
          },
          "train_metadata" : {
            "title" : "Train Metadata",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : { }
              }
            }, { } ]
          }
        },
        "description" : "Detailed training result information"
      },
      "UnstructuredDeleteResponse" : {
        "title" : "UnstructuredDeleteResponse",
        "required" : [ "message" ],
        "properties" : {
          "message" : {
            "title" : "Message"
          }
        }
      },
      "UnstructuredFile" : {
        "title" : "UnstructuredFile",
        "required" : [ "object_id", "project_id" ],
        "properties" : {
          "project_id" : {
            "title" : "Project Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "object_id" : {
            "title" : "Object Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name",
            "anyOf" : [ { }, { } ],
            "default" : ""
          }
        }
      },
      "UnstructuredPutResponse" : {
        "title" : "UnstructuredPutResponse",
        "required" : [ "status" ],
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/IngestStatusEnum"
          }
        }
      },
      "UnstructuredStatus" : {
        "title" : "UnstructuredStatus",
        "required" : [ "object_id", "project_id", "status" ],
        "properties" : {
          "object_id" : {
            "title" : "Object Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "project_id" : {
            "title" : "Project Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "status" : {
            "$ref" : "#/components/schemas/IngestStatusEnum"
          }
        }
      },
      "ValidationError" : {
        "title" : "ValidationError",
        "required" : [ "loc", "msg", "type" ],
        "properties" : {
          "loc" : {
            "title" : "Location",
            "items" : {
              "anyOf" : [ { }, { } ]
            }
          },
          "msg" : {
            "title" : "Message"
          },
          "type" : {
            "title" : "Error Type"
          },
          "input" : {
            "title" : "Input"
          },
          "ctx" : {
            "title" : "Context"
          }
        }
      },
      "Analyzer" : {
        "properties" : {
          "dossierSqlEnabled" : { },
          "dossierDataEnabled" : { },
          "dossierVisualizationScreenshotEnabled" : { },
          "cubeDataEnabled" : { },
          "cubeSqlEnabled" : { },
          "reportDataEnabled" : { },
          "reportSqlEnabled" : { }
        }
      },
      "IntegrityTestRequestDto" : {
        "required" : [ "name", "settings" ],
        "properties" : {
          "name" : { },
          "description" : {
            "maxLength" : 250,
            "minLength" : 0
          },
          "testObjects" : {
            "items" : {
              "$ref" : "#/components/schemas/TestObject"
            }
          },
          "settings" : {
            "$ref" : "#/components/schemas/IntegrityTestSettings"
          },
          "isUpdateTest" : { }
        }
      },
      "IntegrityTestSettings" : {
        "required" : [ "analyzer" ],
        "properties" : {
          "analyzer" : {
            "$ref" : "#/components/schemas/Analyzer"
          },
          "promptAnswer" : {
            "$ref" : "#/components/schemas/PromptAnswerSetting"
          }
        }
      },
      "PromptAnswerPair" : {
        "properties" : {
          "promptDefinition" : {
            "$ref" : "#/components/schemas/PromptDefinition"
          },
          "answers" : {
            "$ref" : "#/components/schemas/PromptAnswers"
          }
        }
      },
      "PromptAnswerSetting" : {
        "required" : [ "sourcePrecedence" ],
        "properties" : {
          "sourcePrecedence" : {
            "minItems" : 1,
            "items" : {
              "enum" : [ "PERSONAL_ANSWER", "DEFAULT_ANSWER", "CUSTOM_ANSWER" ]
            }
          }
        }
      },
      "StoredPromptInfo" : {
        "properties" : {
          "promptAnswerPairsList" : {
            "items" : {
              "items" : {
                "$ref" : "#/components/schemas/PromptAnswerPair"
              }
            }
          },
          "messageName" : { }
        }
      },
      "TestObject" : {
        "properties" : {
          "id" : { },
          "name" : {
            "maxLength" : 250,
            "minLength" : 0
          },
          "type" : {
            "format" : "int32"
          },
          "subtype" : {
            "format" : "int32"
          },
          "owner" : {
            "$ref" : "#/components/schemas/IdAndName"
          },
          "extType" : {
            "format" : "int32"
          },
          "viewMedia" : {
            "format" : "int32"
          },
          "ancestors" : {
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "projectId" : { },
          "promptInfo" : {
            "$ref" : "#/components/schemas/StoredPromptInfo"
          }
        }
      },
      "CertifyInfo" : {
        "properties" : {
          "certified" : { },
          "dateCertified" : {
            "format" : "date-time"
          },
          "certifier" : {
            "$ref" : "#/components/schemas/Certifier"
          }
        }
      },
      "IntegrityTestDto" : {
        "properties" : {
          "name" : { },
          "id" : { },
          "type" : {
            "format" : "int32"
          },
          "subtype" : {
            "format" : "int32"
          },
          "dateCreated" : {
            "format" : "date-time"
          },
          "dateModified" : {
            "format" : "date-time"
          },
          "version" : { },
          "acg" : {
            "format" : "int32"
          },
          "ownerId" : { },
          "projectId" : { },
          "description" : { },
          "extType" : {
            "format" : "int32"
          },
          "viewMedia" : {
            "format" : "int32"
          },
          "ancestors" : {
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "hidden" : { },
          "certifyInfo" : {
            "$ref" : "#/components/schemas/CertifyInfo"
          },
          "settings" : {
            "$ref" : "#/components/schemas/IntegrityTestSettings"
          },
          "acl" : {
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "testObjects" : {
            "items" : {
              "$ref" : "#/components/schemas/TestObject"
            }
          },
          "isUpdateTest" : { },
          "testObjectsSearchParams" : {
            "$ref" : "#/components/schemas/IntegrityTestTestObjectsSearchParams"
          }
        }
      },
      "IntegrityTestTestObjectsSearchParams" : {
        "properties" : {
          "totalCount" : {
            "format" : "int32"
          },
          "projectIds" : {
            "items" : { }
          },
          "includeHiddenObjects" : { },
          "objectTypes" : {
            "uniqueItems" : true,
            "items" : {
              "enum" : [ "dashboard", "dataset", "report", "card" ]
            }
          },
          "modifiedTimeRange" : {
            "$ref" : "#/components/schemas/OffsetTimeRange"
          },
          "objectTypeSettings" : {
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ObjectTypeSearchParam"
            }
          }
        }
      },
      "ObjectTypeSearchParam" : {
        "properties" : {
          "countLimit" : {
            "format" : "int32"
          },
          "name" : { },
          "patternType" : {
            "enum" : [ "begin_with", "begin_with_phrase", "contains", "contains_any_word", "end_with", "exactly" ]
          },
          "modifiedTimeRange" : {
            "$ref" : "#/components/schemas/OffsetTimeRange"
          }
        }
      },
      "OffsetTimeRange" : {
        "required" : [ "beginTime" ],
        "properties" : {
          "beginTime" : {
            "format" : "date-time"
          },
          "endTime" : {
            "format" : "date-time"
          }
        }
      },
      "ApiErrorDto" : {
        "properties" : {
          "code" : {
            "format" : "int64"
          },
          "message" : { },
          "serverErrorCode" : {
            "format" : "int32"
          }
        }
      },
      "ComparisonItem" : {
        "required" : [ "type" ],
        "properties" : {
          "environment" : {
            "$ref" : "#/components/schemas/WsEnvironment"
          },
          "remote" : { },
          "type" : { }
        },
        "discriminator" : {
          "propertyName" : "type"
        }
      },
      "IntegrityComparisonRequestDto" : {
        "required" : [ "name", "source", "target" ],
        "properties" : {
          "name" : { },
          "description" : {
            "maxLength" : 250,
            "minLength" : 0
          },
          "source" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "target" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "settings" : {
            "$ref" : "#/components/schemas/IntegrityComparisonSettings"
          }
        }
      },
      "IntegrityComparisonSettings" : {
        "required" : [ "compareContent" ],
        "properties" : {
          "compareContent" : {
            "minItems" : 1,
            "items" : {
              "enum" : [ "SQL", "DATA" ]
            }
          },
          "compareMethod" : {
            "enum" : [ "by_id", "by_path" ]
          }
        }
      },
      "IntegrityTestBaselineComparisonItem" : {
        "required" : [ "baselineId", "testId" ],
        "allOf" : [ {
          "$ref" : "#/components/schemas/ComparisonItem"
        }, {
          "properties" : {
            "testId" : { },
            "baselineId" : { }
          }
        } ]
      },
      "IntegrityTestComparisonItem" : {
        "required" : [ "testId" ],
        "allOf" : [ {
          "$ref" : "#/components/schemas/ComparisonItem"
        }, {
          "properties" : {
            "testId" : { },
            "baselineId" : { }
          }
        } ]
      },
      "UnitTestBaselineComparisonItem" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ComparisonItem"
        }, {
          "properties" : {
            "baselineId" : { }
          }
        } ]
      },
      "UnitTestComparisonItem" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ComparisonItem"
        }, {
          "properties" : {
            "testId" : { },
            "baselineId" : { }
          }
        } ]
      },
      "WsEnvironment" : {
        "properties" : {
          "id" : { },
          "name" : { }
        }
      },
      "IntegrityComparisonDto" : {
        "properties" : {
          "name" : { },
          "id" : { },
          "type" : {
            "format" : "int32"
          },
          "subtype" : {
            "format" : "int32"
          },
          "dateCreated" : {
            "format" : "date-time"
          },
          "dateModified" : {
            "format" : "date-time"
          },
          "version" : { },
          "acg" : {
            "format" : "int32"
          },
          "ownerId" : { },
          "projectId" : { },
          "description" : { },
          "extType" : {
            "format" : "int32"
          },
          "viewMedia" : {
            "format" : "int32"
          },
          "ancestors" : {
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "hidden" : { },
          "certifyInfo" : {
            "$ref" : "#/components/schemas/CertifyInfo"
          },
          "acl" : {
            "items" : {
              "$ref" : "#/components/schemas/JsonNode"
            }
          },
          "source" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "target" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "settings" : {
            "$ref" : "#/components/schemas/IntegrityComparisonSettings"
          }
        }
      },
      "BaselineExecutionOptions" : {
        "properties" : {
          "storageSync" : { }
        }
      },
      "IntegrityTestBaselineDto" : {
        "properties" : {
          "baselineId" : { },
          "integrityTestId" : { },
          "libraryUrl" : { },
          "creationTime" : { },
          "lastModifiedTime" : { },
          "status" : {
            "enum" : [ "unknown", "running", "completed", "failed", "aborted", "cancelling", "cancelled", "skipped" ]
          },
          "syncFileId" : { },
          "preparationStatus" : {
            "enum" : [ "unknown", "created", "initializing", "initialized", "failed", "cancelled" ]
          },
          "preparationDetails" : { },
          "testObjectBaselines" : {
            "items" : {
              "$ref" : "#/components/schemas/UnitTestBaselineDto"
            }
          }
        }
      },
      "UnitTestBaselineDto" : {
        "properties" : {
          "unitTestId" : { },
          "libraryUrl" : { },
          "projectId" : { },
          "objectId" : { },
          "objectName" : { },
          "objectType" : {
            "format" : "int32"
          },
          "objectSubType" : {
            "format" : "int32"
          },
          "viewMedia" : {
            "format" : "int32"
          },
          "extType" : {
            "format" : "int32"
          },
          "ancestors" : {
            "items" : {
              "$ref" : "#/components/schemas/AncestorInfo"
            }
          },
          "baselineId" : { },
          "type" : {
            "format" : "int32",
            "enum" : [ 0, 1, 2, 3, 4 ]
          },
          "creationTime" : { },
          "lastModifiedTime" : { },
          "treeStructure" : { },
          "settings" : {
            "$ref" : "#/components/schemas/UnitTestSettings"
          },
          "promptInfo" : {
            "$ref" : "#/components/schemas/StoredPromptInfo"
          },
          "status" : {
            "enum" : [ "unknown", "running", "completed", "failed", "aborted", "cancelling", "cancelled", "skipped" ]
          }
        }
      },
      "UnitTestSettings" : {
        "properties" : {
          "analyzer" : {
            "$ref" : "#/components/schemas/Analyzer"
          },
          "promptAnswer" : {
            "$ref" : "#/components/schemas/PromptAnswerSetting"
          }
        }
      },
      "IntegrityTestBaselineResultSyncDto" : {
        "properties" : {
          "fileId" : { }
        }
      },
      "BulkDeleteObjectsRequestDto" : {
        "required" : [ "ids" ],
        "properties" : {
          "ids" : {
            "minItems" : 1,
            "items" : { }
          }
        }
      },
      "BulkDeleteBaselinesRequestDto" : {
        "required" : [ "ids" ],
        "properties" : {
          "ids" : {
            "minItems" : 1,
            "items" : {
              "minLength" : 1
            }
          }
        }
      },
      "ComparisonTriggerStorageFileInfo" : {
        "properties" : {
          "sourceFileId" : { },
          "targetFileId" : { }
        }
      },
      "IntegrityComparisonTriggerParams" : {
        "properties" : {
          "storageSyncInfo" : {
            "$ref" : "#/components/schemas/ComparisonTriggerStorageFileInfo"
          }
        }
      },
      "UnitTestComparisonDto" : {
        "properties" : {
          "comparisonId" : { },
          "source" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "target" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "settings" : {
            "$ref" : "#/components/schemas/UnitTestComparisonSettings"
          },
          "creationTime" : { },
          "lastModifiedTime" : { },
          "summary" : {
            "$ref" : "#/components/schemas/UnitTestComparisonSummaryDto"
          },
          "status" : {
            "enum" : [ "unknown", "running", "completed", "failed", "aborted", "cancelling", "cancelled", "skipped" ]
          }
        }
      },
      "UnitTestComparisonSettings" : {
        "properties" : {
          "compareContent" : {
            "items" : {
              "enum" : [ "SQL", "DATA" ]
            }
          },
          "compareMethod" : {
            "enum" : [ "by_id", "by_path" ]
          }
        }
      },
      "UnitTestComparisonSummaryDto" : {
        "properties" : {
          "comparisonId" : { },
          "statistics" : {
            "additionalProperties" : {
              "format" : "int64"
            }
          },
          "summary" : {
            "additionalProperties" : {
              "additionalProperties" : { }
            }
          },
          "errors" : {
            "additionalProperties" : {
              "additionalProperties" : { }
            }
          }
        }
      },
      "IntegrityTestComparisonDto" : {
        "properties" : {
          "comparisonId" : { },
          "integrityComparisonId" : { },
          "source" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "target" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/IntegrityTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/IntegrityTestComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestBaselineComparisonItem"
            }, {
              "$ref" : "#/components/schemas/UnitTestComparisonItem"
            } ]
          },
          "creationTime" : { },
          "lastModifiedTime" : { },
          "status" : {
            "enum" : [ "unknown", "running", "completed", "failed", "aborted", "cancelling", "cancelled", "skipped" ]
          },
          "preparationStatus" : {
            "enum" : [ "unknown", "created", "waiting_baseline", "initializing", "initialized", "failed", "cancelled", "cancelled_baseline" ]
          },
          "statusDetails" : {
            "$ref" : "#/components/schemas/IntegrityTestComparisonStatusDetails"
          },
          "testObjectComparisons" : {
            "items" : {
              "$ref" : "#/components/schemas/UnitTestComparisonDto"
            }
          }
        }
      },
      "IntegrityTestComparisonStatusDetails" : {
        "properties" : {
          "source" : { },
          "target" : { }
        }
      },
      "SettingsDto" : {
        "properties" : {
          "concurrentSize" : {
            "maximum" : 5,
            "minimum" : 1,
            "format" : "int32"
          },
          "maxTimeoutSeconds" : {
            "minimum" : 60,
            "format" : "int32"
          },
          "maxResultRows" : {
            "minimum" : -1,
            "format" : "int64"
          }
        }
      },
      "IntegrityTestsDto" : {
        "properties" : {
          "integrityTests" : {
            "items" : {
              "$ref" : "#/components/schemas/IntegrityTestDto"
            }
          }
        }
      },
      "SingleNodeExecutionResultDto" : {
        "properties" : {
          "keyId" : { },
          "baselineId" : { },
          "dataFormat" : { },
          "data" : {
            "$ref" : "#/components/schemas/JsonNode"
          },
          "sql" : { },
          "queryDetails" : { }
        }
      },
      "BaselineObjectResult" : {
        "properties" : {
          "projectId" : { },
          "objectId" : { },
          "objectName" : { },
          "dataResult" : {
            "description" : "The execution result of the object's data task (COMPLETED, FAILED, SKIPPED)"
          },
          "sqlResult" : {
            "description" : "The execution result of the object's SQL task (COMPLETED, FAILED, SKIPPED)"
          },
          "failureTypes" : {
            "additionalProperties" : {
              "enum" : [ "cube_not_published", "document_execution_failed", "sql_engine_error_from_dfc", "prompt_validation_failed", "report_template_error", "query_engine_error", "cartesian_join_forbidden", "document_execution_failed_for_unpublished_cube", "object_not_in_metadata", "result_set_limit_exceeded", "session_invalid", "tc_object_not_supported", "tc_execution_timeout", "tc_internal_error", "unknown" ]
            }
          }
        }
      },
      "IntegrityTestBaselineSummaryDto" : {
        "properties" : {
          "envName" : { },
          "projectId" : { },
          "connectionType" : { },
          "creationTime" : { },
          "count" : {
            "format" : "int32"
          },
          "duration" : {
            "format" : "int64"
          },
          "stats" : {
            "additionalProperties" : {
              "format" : "int64"
            }
          },
          "results" : {
            "items" : {
              "$ref" : "#/components/schemas/BaselineObjectResult"
            }
          }
        }
      },
      "IntegrityTestBaselineStatusDto" : {
        "properties" : {
          "baselineId" : { },
          "statuses" : {
            "items" : {
              "$ref" : "#/components/schemas/UnitTestBaselineStatusDto"
            }
          }
        }
      },
      "TaskStatusDto" : {
        "properties" : {
          "type" : {
            "enum" : [ "dossier_execution", "document_execution", "report_execution", "screenshot", "compare_data", "compare_sql", "compare_dossier_visualizations", "execution_and_compare", "executions_and_compare", "cube_data_execution", "cube_sql_execution", "report_sql_execution", "report_data_execution" ]
          },
          "status" : {
            "format" : "int32"
          },
          "executionDetails" : { },
          "name" : { },
          "executionFailureType" : {
            "enum" : [ "cube_not_published", "document_execution_failed", "sql_engine_error_from_dfc", "prompt_validation_failed", "report_template_error", "query_engine_error", "cartesian_join_forbidden", "document_execution_failed_for_unpublished_cube", "object_not_in_metadata", "result_set_limit_exceeded", "session_invalid", "tc_object_not_supported", "tc_execution_timeout", "tc_internal_error", "unknown" ]
          }
        }
      },
      "UnitTestBaselineStatusDto" : {
        "properties" : {
          "baselineId" : { },
          "status" : {
            "items" : {
              "$ref" : "#/components/schemas/TaskStatusDto"
            }
          }
        }
      },
      "IntegrityComparisonsDto" : {
        "properties" : {
          "integrityComparisons" : {
            "items" : {
              "$ref" : "#/components/schemas/IntegrityComparisonDto"
            }
          }
        }
      },
      "SqlDiffDto" : {
        "properties" : {
          "source" : {
            "items" : {
              "$ref" : "#/components/schemas/SqlDiffMatrixItemJson"
            }
          },
          "target" : {
            "items" : {
              "$ref" : "#/components/schemas/SqlDiffMatrixItemJson"
            }
          }
        }
      },
      "SqlDiffMatrixItemJson" : {
        "properties" : {
          "begin_pos" : {
            "format" : "int32"
          },
          "end_pos" : {
            "format" : "int32"
          }
        }
      },
      "DataDiffDto" : {
        "properties" : {
          "dataDiff" : {
            "$ref" : "#/components/schemas/DataDiffMatrixItem"
          }
        }
      },
      "DataDiffMatrixCompoundItem" : {
        "properties" : {
          "columns" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixHeaderItem"
            }
          },
          "metricsValues" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixItemJson"
            }
          }
        }
      },
      "DataDiffMatrixHeaderItem" : {
        "properties" : {
          "name" : { },
          "type" : { },
          "data" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixItemJson"
            }
          }
        }
      },
      "DataDiffMatrixItem" : {
        "properties" : {
          "rows" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixHeaderItem"
            }
          },
          "columns" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixHeaderItem"
            }
          },
          "metricsValues" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixItemJson"
            }
          },
          "compoundGridDataResults" : {
            "items" : {
              "$ref" : "#/components/schemas/DataDiffMatrixCompoundItem"
            }
          }
        }
      },
      "DataDiffMatrixItemJson" : {
        "properties" : {
          "row" : {
            "format" : "int32"
          },
          "col" : {
            "format" : "int32"
          }
        }
      },
      "BaselineSummaryBaseDto" : {
        "properties" : {
          "envName" : { },
          "projectId" : { },
          "connectionType" : { },
          "creationTime" : { },
          "count" : {
            "format" : "int32"
          },
          "duration" : {
            "format" : "int64"
          }
        }
      },
      "ComparedObjectResult" : {
        "properties" : {
          "sourceProjectId" : { },
          "targetProjectId" : { },
          "objectId" : { },
          "objectName" : { },
          "dataResult" : {
            "description" : "The comparison result of the object's data"
          },
          "sqlResult" : {
            "description" : "The comparison result of the object's SQL"
          },
          "sourceFailureTypes" : {
            "additionalProperties" : {
              "enum" : [ "cube_not_published", "document_execution_failed", "sql_engine_error_from_dfc", "prompt_validation_failed", "report_template_error", "query_engine_error", "cartesian_join_forbidden", "document_execution_failed_for_unpublished_cube", "object_not_in_metadata", "result_set_limit_exceeded", "session_invalid", "tc_object_not_supported", "tc_execution_timeout", "tc_internal_error", "unknown" ]
            }
          },
          "targetFailureTypes" : {
            "additionalProperties" : {
              "enum" : [ "cube_not_published", "document_execution_failed", "sql_engine_error_from_dfc", "prompt_validation_failed", "report_template_error", "query_engine_error", "cartesian_join_forbidden", "document_execution_failed_for_unpublished_cube", "object_not_in_metadata", "result_set_limit_exceeded", "session_invalid", "tc_object_not_supported", "tc_execution_timeout", "tc_internal_error", "unknown" ]
            }
          }
        }
      },
      "ComparisonTestSummaryDto" : {
        "properties" : {
          "source" : {
            "$ref" : "#/components/schemas/BaselineSummaryBaseDto"
          },
          "target" : {
            "$ref" : "#/components/schemas/BaselineSummaryBaseDto"
          },
          "stats" : {
            "additionalProperties" : {
              "format" : "int64"
            }
          },
          "results" : {
            "items" : {
              "$ref" : "#/components/schemas/ComparedObjectResult"
            }
          }
        }
      },
      "IntegrityTestComparisonStatusDto" : {
        "properties" : {
          "comparisonId" : { },
          "statuses" : {
            "items" : {
              "$ref" : "#/components/schemas/UnitTestComparisonStatusDto"
            }
          }
        }
      },
      "UnitTestComparisonStatusDto" : {
        "properties" : {
          "comparisonId" : { },
          "status" : {
            "items" : {
              "$ref" : "#/components/schemas/TaskStatusDto"
            }
          }
        }
      },
      "ApiStatusDto" : {
        "properties" : {
          "status" : { },
          "upSince" : {
            "format" : "int64"
          }
        }
      },
      "Actions" : {
        "properties" : {
          "NOTIFY" : {
            "$ref" : "#/components/schemas/Notify"
          },
          "SUPPRESS" : {
            "$ref" : "#/components/schemas/Suppress"
          },
          "STATUS" : { }
        }
      },
      "Notify" : {
        "properties" : {
          "ACTION_DT" : {
            "format" : "date-time"
          },
          "ACTOR_ID" : { },
          "EMAIL" : {
            "$ref" : "#/components/schemas/Email"
          },
          "TEXT" : {
            "$ref" : "#/components/schemas/Text"
          }
        }
      },
      "Suppress" : {
        "properties" : {
          "ACTION_DT" : {
            "format" : "date-time"
          },
          "ACTOR_ID" : { },
          "START_DT" : {
            "format" : "date-time"
          },
          "END_DT" : {
            "format" : "date-time"
          }
        }
      },
      "Text" : {
        "properties" : {
          "BODY" : { },
          "TO" : {
            "items" : { }
          }
        }
      },
      "AnomalyDetectionReplayResponse" : {
        "properties" : {
          "metadataGuid" : { },
          "instanceId" : { },
          "startTime" : {
            "format" : "date-time"
          },
          "endTime" : {
            "format" : "date-time"
          },
          "totalEventsProcessed" : {
            "format" : "int32"
          },
          "totalAnomaliesDetected" : {
            "format" : "int32"
          },
          "totalAnomaliesFiltered" : {
            "format" : "int32"
          },
          "totalAnomalyFlagsDetected" : {
            "format" : "int32"
          },
          "totalAnomalyFlagsPassingThreshold" : {
            "format" : "int32"
          },
          "configUsed" : {
            "$ref" : "#/components/schemas/ConfigSnapshot"
          },
          "eventAnalyses" : {
            "items" : {
              "$ref" : "#/components/schemas/EventAnalysis"
            }
          },
          "detectedAnomalies" : {
            "items" : {
              "$ref" : "#/components/schemas/DetectedAnomaly"
            }
          }
        }
      },
      "BaselineAnalysis" : {
        "properties" : {
          "baselineLevel" : { },
          "sufficientData" : { },
          "dataPointsUsed" : {
            "format" : "int32"
          },
          "dataPointsRequired" : {
            "format" : "int32"
          },
          "inWarmUpPeriod" : { },
          "timeAnalysis" : {
            "$ref" : "#/components/schemas/TimeDetectionAnalysis"
          },
          "volumeAnalysis" : {
            "$ref" : "#/components/schemas/VolumeDetectionAnalysis"
          }
        }
      },
      "ConfidenceCalculation" : {
        "properties" : {
          "signalStrength" : {
            "format" : "double"
          },
          "signalStrengthRaw" : {
            "format" : "double"
          },
          "baselineQuality" : {
            "format" : "double"
          },
          "eventsFactor" : {
            "format" : "double"
          },
          "daysFactor" : {
            "format" : "double"
          },
          "significance" : {
            "format" : "double"
          },
          "multiSignalBonus" : {
            "format" : "double"
          },
          "signalWeight" : {
            "format" : "double"
          },
          "baselineWeight" : {
            "format" : "double"
          },
          "significanceWeight" : {
            "format" : "double"
          },
          "multiSignalWeight" : {
            "format" : "double"
          },
          "stabilityWeight" : {
            "format" : "double"
          },
          "signalContribution" : {
            "format" : "double"
          },
          "baselineContribution" : {
            "format" : "double"
          },
          "significanceContribution" : {
            "format" : "double"
          },
          "multiSignalContribution" : {
            "format" : "double"
          },
          "rawConfidence" : {
            "format" : "double"
          },
          "fallbackPenaltyApplied" : { },
          "fallbackPenaltyMultiplier" : {
            "format" : "double"
          },
          "finalConfidence" : {
            "format" : "double"
          },
          "confidenceThreshold" : {
            "format" : "int32"
          },
          "confidenceAsPercent" : {
            "format" : "int32"
          },
          "passesThreshold" : { }
        }
      },
      "ConfigSnapshot" : {
        "properties" : {
          "windowDays" : {
            "format" : "int32"
          },
          "warmUpHours" : {
            "format" : "int32"
          },
          "fallbackEnabled" : { },
          "timeMinUserDataPoints" : {
            "format" : "int32"
          },
          "timeMinGlobalDataPoints" : {
            "format" : "int32"
          },
          "volumeMinPairDataPoints" : {
            "format" : "int32"
          },
          "volumeMinUserDataPoints" : {
            "format" : "int32"
          },
          "volumeMinGlobalDataPoints" : {
            "format" : "int32"
          },
          "fallbackConfidencePenaltyUser" : {
            "format" : "double"
          },
          "fallbackConfidencePenaltyGlobal" : {
            "format" : "double"
          },
          "rareHourProb" : {
            "format" : "double"
          },
          "minDistinctHoursForRareDetection" : {
            "format" : "int32"
          },
          "rareHourSignalBase" : {
            "format" : "double"
          },
          "rareHourSignalScale" : {
            "format" : "double"
          },
          "rareHourConfidenceThreshold" : {
            "format" : "int32"
          },
          "burstWindowMinutes" : {
            "format" : "int32"
          },
          "burstAlpha" : {
            "format" : "double"
          },
          "burstKMin" : {
            "format" : "int32"
          },
          "unusualFreqConfidenceThreshold" : {
            "format" : "int32"
          },
          "timeSignalWeight" : {
            "format" : "double"
          },
          "timeBaselineWeight" : {
            "format" : "double"
          },
          "timeSignificanceWeight" : {
            "format" : "double"
          },
          "timeMultiSignalWeight" : {
            "format" : "double"
          },
          "timeStabilityWeight" : {
            "format" : "double"
          },
          "histDaysSaturation" : {
            "format" : "int32"
          },
          "timeEventsSaturation" : {
            "format" : "int32"
          },
          "volumeZThreshold" : {
            "format" : "double"
          },
          "volumeMadScaleFactor" : {
            "format" : "double"
          },
          "madMinFloor" : {
            "format" : "double"
          },
          "volumeSignalWeight" : {
            "format" : "double"
          },
          "volumeBaselineWeight" : {
            "format" : "double"
          },
          "volumeSignificanceWeight" : {
            "format" : "double"
          },
          "minVolumeRatioThreshold" : {
            "format" : "double"
          },
          "volumeEventsSaturation" : {
            "format" : "int32"
          },
          "volumeDaysSaturation" : {
            "format" : "int32"
          },
          "unusualVolumeConfidenceThreshold" : {
            "format" : "int32"
          }
        }
      },
      "DetectedAnomaly" : {
        "properties" : {
          "logId" : {
            "format" : "int64"
          },
          "eventTimestamp" : {
            "format" : "date-time"
          },
          "userGuid" : { },
          "userName" : { },
          "objectGuid" : { },
          "objectName" : { },
          "rowCount" : {
            "format" : "int64"
          },
          "baselineLevel" : { },
          "anomalyType" : { },
          "confidenceScore" : {
            "format" : "double"
          },
          "confidencePercent" : {
            "format" : "int32"
          },
          "confidenceThreshold" : {
            "format" : "int32"
          },
          "description" : { }
        }
      },
      "EventAnalysis" : {
        "properties" : {
          "logId" : {
            "format" : "int64"
          },
          "eventTimestamp" : {
            "format" : "date-time"
          },
          "userGuid" : { },
          "userName" : { },
          "objectGuid" : { },
          "objectName" : { },
          "rowCount" : {
            "format" : "int64"
          },
          "hour" : {
            "format" : "int32"
          },
          "totalHistoryEvents" : {
            "format" : "int32"
          },
          "baselineAnalyses" : {
            "additionalProperties" : {
              "$ref" : "#/components/schemas/BaselineAnalysis"
            }
          },
          "finalOutcome" : {
            "$ref" : "#/components/schemas/FinalOutcome"
          }
        }
      },
      "FinalOutcome" : {
        "properties" : {
          "baselineUsed" : { },
          "anomaliesDetected" : {
            "items" : { }
          },
          "anomaliesPassingThreshold" : {
            "items" : { }
          },
          "isNormal" : { },
          "reason" : { }
        }
      },
      "RareHourAnalysis" : {
        "properties" : {
          "hourProbability" : {
            "format" : "double"
          },
          "probabilityThreshold" : {
            "format" : "double"
          },
          "hasEnoughDistinctHours" : { },
          "distinctHoursRequired" : {
            "format" : "int32"
          },
          "rarityRatio" : {
            "format" : "double"
          },
          "isRareHour" : { },
          "skipReason" : { },
          "confidenceCalculation" : {
            "$ref" : "#/components/schemas/ConfidenceCalculation"
          }
        }
      },
      "TimeDetectionAnalysis" : {
        "properties" : {
          "nactive" : {
            "format" : "int32"
          },
          "activeDays" : {
            "format" : "int32"
          },
          "nActive" : {
            "format" : "int32"
          },
          "activeMinutes" : {
            "format" : "int64"
          },
          "distinctHourCount" : {
            "format" : "int32"
          },
          "rareHourAnalysis" : {
            "$ref" : "#/components/schemas/RareHourAnalysis"
          },
          "unusualFreqAnalysis" : {
            "$ref" : "#/components/schemas/UnusualFreqAnalysis"
          }
        }
      },
      "UnusualFreqAnalysis" : {
        "properties" : {
          "ptail" : {
            "format" : "double"
          },
          "kmin" : {
            "format" : "int32"
          },
          "ptailBelowAlpha" : { },
          "rollingCount" : {
            "format" : "int32"
          },
          "expectedMu" : {
            "format" : "double"
          },
          "historicalRatePerMinute" : {
            "format" : "double"
          },
          "burstWindowMinutes" : {
            "format" : "int32"
          },
          "pTail" : {
            "format" : "double"
          },
          "alpha" : {
            "format" : "double"
          },
          "kMin" : {
            "format" : "int32"
          },
          "ratio" : {
            "format" : "double"
          },
          "isUnusualFreq" : { },
          "skipReason" : { },
          "pTailBelowAlpha" : { },
          "countAboveKMin" : { },
          "confidenceCalculation" : {
            "$ref" : "#/components/schemas/ConfidenceCalculation"
          }
        }
      },
      "VolumeDetectionAnalysis" : {
        "properties" : {
          "zscore" : {
            "format" : "double"
          },
          "zthreshold" : {
            "format" : "double"
          },
          "baselineVolumeCount" : {
            "format" : "int32"
          },
          "distinctDays" : {
            "format" : "int32"
          },
          "currentVolume" : {
            "format" : "int64"
          },
          "currentLogVolume" : {
            "format" : "double"
          },
          "medianLogVolume" : {
            "format" : "double"
          },
          "madLogVolume" : {
            "format" : "double"
          },
          "robustStdDev" : {
            "format" : "double"
          },
          "zScore" : {
            "format" : "double"
          },
          "zThreshold" : {
            "format" : "double"
          },
          "typicalVolume" : {
            "format" : "double"
          },
          "ratio" : {
            "format" : "double"
          },
          "isUnusualVolume" : { },
          "skipReason" : { },
          "confidenceCalculation" : {
            "$ref" : "#/components/schemas/ConfidenceCalculation"
          }
        }
      },
      "ObjectsStatisticsRequestBody" : {
        "properties" : {
          "objects" : {
            "items" : { }
          }
        }
      },
      "ObjectStatistics" : {
        "properties" : {
          "objectId" : { },
          "popularityScore" : {
            "format" : "double"
          },
          "errorRate" : {
            "format" : "double"
          },
          "executions" : {
            "format" : "int64"
          },
          "users" : {
            "format" : "int64"
          },
          "avgExecutionTime" : {
            "format" : "double"
          },
          "lastExecutionTime" : {
            "format" : "date-time"
          }
        }
      },
      "ObjectsStatisticsResponse" : {
        "properties" : {
          "projectId" : { },
          "total" : {
            "format" : "int64"
          },
          "status" : {
            "enum" : [ "Unknown", "Not_Started", "Ready", "Failure" ]
          },
          "timestamp" : {
            "format" : "date-time"
          },
          "objectStatistics" : {
            "items" : {
              "$ref" : "#/components/schemas/ObjectStatistics"
            }
          }
        }
      },
      "ErrorContainer" : {
        "properties" : {
          "errors" : {
            "items" : {
              "$ref" : "#/components/schemas/ErrorModel"
            }
          }
        }
      },
      "ErrorModel" : {
        "properties" : {
          "code" : {
            "format" : "int32"
          },
          "message" : { },
          "moreInfo" : { },
          "additionalProperties" : { }
        }
      },
      "RestoreRequest" : {
        "required" : [ "endDate", "startDate" ],
        "properties" : {
          "startDate" : {
            "description" : "Start date in YYYY-MM-DD format",
            "example" : "2024-01-01"
          },
          "endDate" : {
            "description" : "End date in YYYY-MM-DD format",
            "example" : "2024-01-31"
          }
        }
      },
      "MultitenantMetadataResponse" : {
        "properties" : {
          "jobId" : {
            "description" : "Unique identifier for the job",
            "example" : "mt-md-12345678-abcd-1234-efgh-123456789012"
          },
          "status" : {
            "description" : "Current status of the operation",
            "example" : "IN_PROGRESS",
            "enum" : [ "IDLE", "IN_PROGRESS", "COMPLETED", "FAILED" ]
          },
          "totalTables" : {
            "description" : "Total number of tables to process",
            "format" : "int32",
            "example" : 65
          },
          "processedTables" : {
            "description" : "Number of tables processed so far",
            "format" : "int32",
            "example" : 30
          },
          "failedTables" : {
            "description" : "List of table names that failed processing",
            "items" : { }
          },
          "errorMessage" : {
            "description" : "Error message if the operation failed"
          }
        },
        "description" : "Response for multitenant metadata RLS enable operation"
      },
      "UserStatistics" : {
        "properties" : {
          "lastLogin" : {
            "format" : "date-time"
          }
        }
      },
      "CursorNextPage" : {
        "properties" : {
          "after" : { },
          "logId" : { }
        }
      },
      "CursorPagination" : {
        "properties" : {
          "limit" : {
            "format" : "int32"
          },
          "offset" : {
            "format" : "int32"
          },
          "sortBy" : { },
          "sortType" : { },
          "nextPage" : {
            "$ref" : "#/components/schemas/CursorNextPage"
          },
          "hasMore" : { }
        }
      },
      "UsagePageResponse" : {
        "properties" : {
          "data" : {
            "items" : { }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/CursorPagination"
          }
        }
      },
      "ElementPageResponse" : {
        "properties" : {
          "data" : {
            "items" : { }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/CursorPagination"
          }
        }
      },
      "SentinelTableColumnInfo" : {
        "properties" : {
          "expression" : { },
          "type" : { },
          "searchable" : { },
          "sortable" : { },
          "filterable" : { },
          "aggregate" : { }
        }
      },
      "SentinelTableEnumValue" : {
        "properties" : {
          "code" : { },
          "label" : { },
          "localeKey" : { }
        }
      },
      "SentinelTableInfo" : {
        "properties" : {
          "columns" : {
            "additionalProperties" : {
              "$ref" : "#/components/schemas/SentinelTableColumnInfo"
            }
          },
          "enums" : {
            "additionalProperties" : {
              "items" : {
                "$ref" : "#/components/schemas/SentinelTableEnumValue"
              }
            }
          },
          "locale" : {
            "additionalProperties" : {
              "items" : {
                "$ref" : "#/components/schemas/SentinelTableEnumValue"
              }
            }
          }
        }
      },
      "SentinelTableInfoResponse" : {
        "properties" : {
          "version" : { },
          "audit" : {
            "$ref" : "#/components/schemas/SentinelTableInfo"
          },
          "alerts" : {
            "$ref" : "#/components/schemas/SentinelTableInfo"
          },
          "usageObject" : {
            "$ref" : "#/components/schemas/SentinelTableInfo"
          },
          "usageModel" : {
            "$ref" : "#/components/schemas/SentinelTableInfo"
          },
          "usageSource" : {
            "$ref" : "#/components/schemas/SentinelTableInfo"
          }
        }
      },
      "SentinelTablePageResponse" : {
        "properties" : {
          "data" : {
            "items" : {
              "$ref" : "#/components/schemas/SentinelTableResponse"
            }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/CursorPagination"
          }
        }
      },
      "SentinelTableResponse" : { },
      "ObjectLastErrorResponse" : {
        "properties" : {
          "error" : { },
          "time" : {
            "format" : "date-time"
          }
        }
      },
      "DashboardInteractionResponse" : {
        "properties" : {
          "interactionDay" : {
            "format" : "date-time"
          },
          "userGuid" : { },
          "userEmail" : { },
          "userName" : { },
          "accountLogin" : { },
          "name" : { },
          "id" : { },
          "projectId" : { },
          "type" : { },
          "actionDescription" : { },
          "numExecutions" : {
            "format" : "int64"
          }
        }
      },
      "ObjectDefinitionDataset" : {
        "properties" : {
          "id" : { },
          "name" : { },
          "attributes" : {
            "items" : {
              "$ref" : "#/components/schemas/ObjectDefinitionElement"
            }
          },
          "metrics" : {
            "items" : {
              "$ref" : "#/components/schemas/ObjectDefinitionElement"
            }
          }
        }
      },
      "ObjectDefinitionElement" : {
        "properties" : {
          "id" : { },
          "name" : { }
        }
      },
      "ObjectDefinitionResponse" : {
        "properties" : {
          "id" : { },
          "projectId" : { },
          "type" : { },
          "name" : { },
          "datasets" : {
            "items" : {
              "$ref" : "#/components/schemas/ObjectDefinitionDataset"
            }
          }
        }
      },
      "FeedbackStatistics" : {
        "properties" : {
          "questionCount" : {
            "format" : "int64"
          },
          "userCount" : {
            "format" : "int64"
          },
          "effectivenessRatio" : {
            "format" : "double"
          },
          "interpretationRequestsRatio" : {
            "format" : "double"
          },
          "definitionsUsedCount" : {
            "format" : "int64"
          }
        }
      },
      "LearningsResponse" : {
        "properties" : {
          "lastDownload" : {
            "format" : "date-time"
          },
          "total" : {
            "format" : "int64"
          }
        }
      },
      "FactAIQuestionFeedback" : {
        "properties" : {
          "details" : { },
          "requestTime" : {
            "format" : "date-time"
          },
          "category" : { },
          "user" : { },
          "object" : { },
          "feature" : { },
          "question" : {
            "$ref" : "#/components/schemas/Question"
          }
        }
      },
      "FeedbackList" : {
        "properties" : {
          "offset" : {
            "format" : "int64"
          },
          "limit" : {
            "format" : "int64"
          },
          "total" : {
            "format" : "int64"
          },
          "feedback" : {
            "items" : {
              "$ref" : "#/components/schemas/FactAIQuestionFeedback"
            }
          }
        }
      },
      "AuditPageResponse" : {
        "properties" : {
          "data" : {
            "items" : {
              "$ref" : "#/components/schemas/AuditResponse"
            }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/CursorPagination"
          }
        }
      },
      "AuditResponse" : {
        "properties" : {
          "certified" : { },
          "timestamp" : {
            "format" : "date-time"
          },
          "actor" : { },
          "action" : { },
          "objectName" : { },
          "objectType" : {
            "format" : "int32"
          },
          "sensitiveData" : { },
          "objectGuid" : { },
          "modelName" : { },
          "modelType" : {
            "format" : "int32"
          },
          "isCertified" : { },
          "projectName" : { },
          "status" : {
            "format" : "int32"
          },
          "statusMessage" : { },
          "logId" : { }
        }
      },
      "AccessedObject" : {
        "properties" : {
          "OBJECT_GUID" : { },
          "OBJECT_NAME" : { },
          "OBJECT_TYPE" : {
            "format" : "int32"
          },
          "OBJECT_SENSITIVITY" : {
            "enum" : [ "NONE", "PERSONAL", "SENSITIVE", "HIGH", "MEDIUM" ]
          }
        }
      },
      "AlertPageResponse" : {
        "properties" : {
          "data" : {
            "items" : {
              "$ref" : "#/components/schemas/AlertResponse"
            }
          },
          "pagination" : {
            "$ref" : "#/components/schemas/CursorPagination"
          }
        }
      },
      "AlertResponse" : {
        "properties" : {
          "alertId" : { },
          "timestamp" : {
            "format" : "date-time"
          },
          "anomalyType" : {
            "enum" : [ "NORMAL", "RARE_HOUR", "UNUSUAL_FREQ", "UNUSUAL_VOLUME", "SENSITIVE_DATA" ]
          },
          "dataAccessed" : {
            "items" : {
              "$ref" : "#/components/schemas/AccessedObject"
            }
          },
          "user" : { },
          "actions" : {
            "$ref" : "#/components/schemas/Actions"
          }
        }
      },
      "AlertDetailsResponse" : {
        "properties" : {
          "userId" : { },
          "userGroup" : { },
          "applicationType" : {
            "format" : "int32"
          },
          "modelName" : { },
          "description" : { }
        }
      },
      "AggStatus" : {
        "properties" : {
          "status" : {
            "enum" : [ "Unknown", "Not_Started", "Ready", "Failure" ]
          },
          "count" : {
            "format" : "int64"
          },
          "timestamp" : {
            "format" : "date-time"
          },
          "message" : { }
        }
      },
      "AggStatusResponse" : {
        "properties" : {
          "projectId" : { },
          "type" : {
            "enum" : [ "UNKNOWN", "OBJECT_STATISTICS" ]
          },
          "aggStatus" : {
            "$ref" : "#/components/schemas/AggStatus"
          }
        }
      },
      "Error" : {
        "type" : "object",
        "properties" : {
          "iServerErrorCode" : {
            "type" : "integer",
            "description" : "Error code from the I-Server"
          },
          "message" : {
            "type" : "string",
            "description" : "Error message from the I-Server"
          }
        }
      },
      "UrlscanJobRequest" : {
        "required" : [ "projectIds" ],
        "type" : "object",
        "properties" : {
          "includeAttributes" : {
            "type" : "boolean",
            "description" : "Whether to include attribute scanning. If true, scans attribute base forms used by HTML5 dashboards. Defaults to false.",
            "default" : false
          },
          "projectIds" : {
            "type" : "array",
            "description" : "Array of project IDs to scan",
            "example" : [ "67B2425A408C96BCB7A73FA45004A1B5" ],
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "Request body for creating a URL scan job"
      },
      "cubeItem" : {
        "type" : "object",
        "properties" : {
          "catalogDescription" : {
            "type" : "string",
            "description" : "Description of the MDX catalog"
          },
          "catalogName" : {
            "type" : "string",
            "description" : "Name of the MDX catalog"
          },
          "dbTableID" : {
            "type" : "string",
            "description" : "Database table ID associated with the MDX catalog"
          },
          "description" : {
            "type" : "string",
            "description" : "Detailed description of the MDX catalog"
          },
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the logical table associated with the MDX catalog"
          },
          "lastDataUpdate" : {
            "type" : "string",
            "description" : "Timestamp of the last data update in the MDX catalog"
          },
          "lastSchemaUpdate" : {
            "type" : "string",
            "description" : "Timestamp of the last schema update in the MDX catalog"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the MDX catalog cube"
          },
          "refreshStatus" : {
            "type" : "integer",
            "description" : "Status of the last refresh operation on the MDX catalog"
          },
          "type" : {
            "type" : "string",
            "description" : "'QUERY CUBE' or other types of MDX catalogs"
          }
        }
      },
      "importedCubes" : {
        "type" : "object",
        "properties" : {
          "importedCubes" : {
            "type" : "array",
            "description" : "List of MDX catalogs imported into the database role",
            "items" : {
              "$ref" : "#/components/schemas/cubeItem"
            }
          }
        }
      },
      "queuesResult" : {
        "type" : "object",
        "properties" : {
          "progress" : {
            "type" : "integer"
          },
          "results" : {
            "type" : "object",
            "properties" : {
              "message" : {
                "type" : "string"
              }
            }
          },
          "status" : {
            "type" : "integer"
          }
        },
        "description" : "Response body for getting a URL scan job status"
      },
      "BotSearchBody" : {
        "type" : "object",
        "properties" : {
          "filter" : {
            "required" : [ "applicationId", "bots", "question" ],
            "type" : "object",
            "properties" : {
              "applicationId" : {
                "type" : "string",
                "example" : "12"
              },
              "bots" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/Bot"
                }
              },
              "question" : {
                "type" : "string",
                "example" : "What's the regression issue?"
              }
            }
          }
        }
      },
      "Bot" : {
        "required" : [ "botId", "projectId" ],
        "type" : "object",
        "properties" : {
          "botId" : {
            "type" : "string",
            "example" : "65FCC9FFE8499F9C654593991878AFF0"
          },
          "projectId" : {
            "type" : "string",
            "example" : "B7CA92F04B9FAE8D941C3E9B7E0CD754"
          }
        }
      },
      "ElementIndexStatusRequest" : {
        "type" : "object",
        "properties" : {
          "cubeType" : {
            "type" : "string",
            "example" : "MTDI or OLAP"
          },
          "cubeInstanceId" : {
            "type" : "string",
            "example" : "543DD671554F47406DD2038571F4AD9A"
          },
          "attributeIds" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "example" : "255E78CD45E818CF381055A07E6128DF"
            }
          }
        }
      },
      "ElementIndexStatusResponse" : {
        "type" : "object",
        "properties" : {
          "overallStatus" : {
            "type" : "string",
            "example" : "ready|failed|in-progress|not-indexed"
          },
          "attributes" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "id" : {
                  "type" : "string",
                  "description" : "attribute GUID"
                },
                "status" : {
                  "type" : "string",
                  "description" : "index status"
                },
                "dsStatus" : {
                  "type" : "string",
                  "description" : "index status in data store"
                }
              }
            }
          }
        }
      },
      "ElementIndexStatusError" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "example" : 500
          },
          "message" : {
            "type" : "string",
            "example" : "AI service encountered an error."
          }
        }
      },
      "SqlChatRequest" : {
        "required" : [ "database", "input" ],
        "type" : "object",
        "properties" : {
          "database" : {
            "required" : [ "name", "namespaces" ],
            "type" : "object",
            "properties" : {
              "name" : {
                "type" : "string",
                "description" : "database name",
                "example" : "SQL Server"
              },
              "namespaces" : {
                "type" : "array",
                "items" : {
                  "required" : [ "name", "tables" ],
                  "type" : "object",
                  "properties" : {
                    "name" : {
                      "type" : "string",
                      "description" : "namespace name",
                      "example" : "dbo"
                    },
                    "tables" : {
                      "type" : "array",
                      "items" : {
                        "required" : [ "columns", "name" ],
                        "type" : "object",
                        "properties" : {
                          "name" : {
                            "type" : "string",
                            "description" : "table name"
                          },
                          "columns" : {
                            "type" : "array",
                            "items" : {
                              "required" : [ "dataType", "name" ],
                              "type" : "object",
                              "properties" : {
                                "name" : {
                                  "type" : "string",
                                  "description" : "column name"
                                },
                                "dataType" : {
                                  "type" : "string",
                                  "description" : "data type"
                                }
                              }
                            }
                          },
                          "primaryKey" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string",
                              "description" : "primary key"
                            }
                          },
                          "foreignKeys" : {
                            "type" : "array",
                            "items" : {
                              "required" : [ "columns", "refColumns", "refTable" ],
                              "type" : "object",
                              "properties" : {
                                "columns" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string",
                                    "description" : "column name"
                                  }
                                },
                                "refTable" : {
                                  "type" : "string",
                                  "description" : "reference table"
                                },
                                "refColumns" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string",
                                    "description" : "reference column"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "description" : "database schema"
          },
          "history" : {
            "type" : "array",
            "description" : "chat history",
            "items" : {
              "type" : "array"
            }
          },
          "input" : {
            "type" : "string",
            "description" : "user input",
            "example" : "Show me the total dollar sales for each year"
          },
          "sqlIdentifierDelimiter" : {
            "type" : "integer",
            "description" : "Delimit sql identifiers: 1 - double quote, 2 - backtick, 4 - square bracket",
            "enum" : [ 1, 2, 4 ]
          }
        }
      },
      "SqlChatResponse" : {
        "required" : [ "result" ],
        "type" : "object",
        "properties" : {
          "result" : {
            "type" : "string",
            "description" : "AI response"
          }
        }
      },
      "SqlPreflightCheckResponse" : {
        "required" : [ "explanation", "sql" ],
        "type" : "object",
        "properties" : {
          "sql" : {
            "type" : "string",
            "description" : "SQL query"
          },
          "explanation" : {
            "type" : "string",
            "description" : "explanation of the SQL query or failure reason"
          },
          "tables" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "description" : "missing schema required to generate SQL, e.g. Employee: id, name, department_id"
            }
          },
          "embeddings" : {
            "type" : "array",
            "description" : "embeddings of the missing schema suggestions",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "number"
              }
            }
          }
        }
      },
      "DataSourceDescriptionGenerateRequest" : {
        "required" : [ "database", "input" ],
        "type" : "object",
        "properties" : {
          "database" : {
            "required" : [ "name", "namespaces" ],
            "type" : "object",
            "properties" : {
              "name" : {
                "type" : "string",
                "description" : "database name",
                "example" : "SQL Server"
              },
              "namespaces" : {
                "type" : "array",
                "items" : {
                  "required" : [ "name", "tables" ],
                  "type" : "object",
                  "properties" : {
                    "name" : {
                      "type" : "string",
                      "description" : "namespace name",
                      "example" : "dbo"
                    },
                    "tables" : {
                      "type" : "array",
                      "items" : {
                        "required" : [ "columns", "name" ],
                        "type" : "object",
                        "properties" : {
                          "name" : {
                            "type" : "string",
                            "description" : "table name"
                          },
                          "columns" : {
                            "type" : "array",
                            "items" : {
                              "required" : [ "dataType", "name" ],
                              "type" : "object",
                              "properties" : {
                                "name" : {
                                  "type" : "string",
                                  "description" : "column name"
                                },
                                "dataType" : {
                                  "type" : "string",
                                  "description" : "data type"
                                }
                              }
                            }
                          },
                          "primaryKey" : {
                            "type" : "array",
                            "items" : {
                              "type" : "string",
                              "description" : "primary key"
                            }
                          },
                          "foreignKeys" : {
                            "type" : "array",
                            "items" : {
                              "required" : [ "columns", "refColumns", "refTable" ],
                              "type" : "object",
                              "properties" : {
                                "columns" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string",
                                    "description" : "column name"
                                  }
                                },
                                "refTable" : {
                                  "type" : "string",
                                  "description" : "reference table"
                                },
                                "refColumns" : {
                                  "type" : "array",
                                  "items" : {
                                    "type" : "string",
                                    "description" : "reference column"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            },
            "description" : "database schema"
          },
          "history" : {
            "type" : "array",
            "description" : "chat history",
            "items" : {
              "type" : "array"
            }
          },
          "input" : {
            "type" : "string",
            "description" : "user input",
            "example" : "Generate a summary for current data source."
          }
        }
      },
      "DataSourceDescriptionSummarizeRequest" : {
        "required" : [ "database", "input" ],
        "type" : "object",
        "properties" : {
          "database" : {
            "required" : [ "descriptions", "name" ],
            "type" : "object",
            "properties" : {
              "name" : {
                "type" : "string",
                "description" : "database name",
                "example" : "SQL Server"
              },
              "descriptions" : {
                "type" : "array",
                "items" : {
                  "type" : "string",
                  "description" : "description of the data source"
                }
              }
            },
            "description" : "database schema for summarization"
          },
          "history" : {
            "type" : "array",
            "description" : "chat history",
            "items" : {
              "type" : "array"
            }
          },
          "input" : {
            "type" : "string",
            "description" : "user input",
            "example" : "Summarize the descriptions for the data source."
          }
        }
      },
      "EmbeddingsRequest" : {
        "required" : [ "input" ],
        "type" : "object",
        "properties" : {
          "input" : {
            "description" : "Input text to embed. To embed multiple inputs in a single request, pass an array of strings.",
            "oneOf" : [ {
              "type" : "string"
            }, {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            } ]
          }
        }
      },
      "EmbeddingsResponse" : {
        "required" : [ "data" ],
        "type" : "object",
        "properties" : {
          "data" : {
            "type" : "array",
            "description" : "A list of embeddings, one for each input text.",
            "items" : {
              "type" : "array",
              "items" : {
                "type" : "number"
              }
            }
          }
        }
      },
      "ModelLinkingRequest" : {
        "required" : [ "payload" ],
        "type" : "object",
        "properties" : {
          "payload" : {
            "required" : [ "models" ],
            "type" : "object",
            "properties" : {
              "models" : {
                "type" : "array",
                "description" : "Array of models to analyze for linking",
                "items" : {
                  "$ref" : "#/components/schemas/Model"
                }
              },
              "options" : {
                "$ref" : "#/components/schemas/ModelLinkingOptions"
              }
            }
          }
        }
      },
      "Model" : {
        "required" : [ "id", "name", "objects" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the model"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the model"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the model"
          },
          "objects" : {
            "type" : "array",
            "description" : "Array of objects/attributes in the model",
            "items" : {
              "$ref" : "#/components/schemas/CandidateObject"
            }
          }
        }
      },
      "CandidateObject" : {
        "required" : [ "id", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the object"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the object"
          },
          "semanticRole" : {
            "type" : "string",
            "description" : "Semantic role of the object (e.g., 'person', 'email', 'datetime')"
          }
        }
      },
      "ModelLinkingOptions" : {
        "type" : "object",
        "properties" : {
          "topN" : {
            "maximum" : 20,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Maximum number of top linking candidates to return per group",
            "default" : 5
          },
          "minConfidence" : {
            "maximum" : 1,
            "minimum" : 0,
            "type" : "number",
            "description" : "Minimum confidence threshold for linking (0.0 to 1.0)",
            "default" : 0.3
          },
          "maxGroups" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Maximum number of linking groups to generate",
            "default" : 20
          },
          "similarityMode" : {
            "type" : "string",
            "description" : "Similarity calculation mode",
            "default" : "hybrid",
            "enum" : [ "hybrid", "embedding_only", "rule_only" ]
          },
          "neighborK" : {
            "maximum" : 10,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Number of nearest neighbors to consider",
            "default" : 3
          },
          "percentile" : {
            "maximum" : 1,
            "minimum" : 0,
            "type" : "number",
            "description" : "Percentile threshold for similarity filtering",
            "default" : 0.9
          },
          "enableCache" : {
            "type" : "boolean",
            "description" : "Whether to enable embedding cache for performance",
            "default" : true
          },
          "maxCandidatesPerModel" : {
            "maximum" : 5,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Maximum number of candidates per model in a linking group",
            "default" : 1
          },
          "includeModelIds" : {
            "type" : "array",
            "description" : "Optional: Only return links that include at least one object from these model IDs. If not specified, links between all models are returned.",
            "items" : {
              "type" : "string"
            },
            "default" : [ ]
          }
        }
      },
      "ModelLinkingResponse" : {
        "required" : [ "linkingGroups" ],
        "type" : "object",
        "properties" : {
          "linkingGroups" : {
            "type" : "array",
            "description" : "Array of linking groups containing semantically similar objects",
            "items" : {
              "$ref" : "#/components/schemas/LinkingGroup"
            }
          },
          "stats" : {
            "type" : "object",
            "properties" : {
              "llmTokenUsage" : {
                "type" : "object",
                "properties" : {
                  "promptTokens" : {
                    "type" : "integer",
                    "description" : "Number of tokens used in prompts"
                  },
                  "completionTokens" : {
                    "type" : "integer",
                    "description" : "Number of tokens generated in completions"
                  },
                  "totalTokens" : {
                    "type" : "integer",
                    "description" : "Total number of tokens used"
                  }
                }
              }
            }
          }
        }
      },
      "LinkingGroup" : {
        "required" : [ "groupId", "sourceObject", "statistics", "targetObjects", "valueSource" ],
        "type" : "object",
        "properties" : {
          "groupId" : {
            "type" : "string",
            "description" : "Unique identifier for the linking group"
          },
          "sourceObject" : {
            "$ref" : "#/components/schemas/ModelObject"
          },
          "valueSource" : {
            "$ref" : "#/components/schemas/ModelObject"
          },
          "targetObjects" : {
            "type" : "array",
            "description" : "Array of linked target objects",
            "items" : {
              "$ref" : "#/components/schemas/LinkedObject"
            }
          },
          "statistics" : {
            "type" : "object",
            "properties" : {
              "targetCount" : {
                "type" : "integer",
                "description" : "Number of linked targets"
              },
              "targetModelCount" : {
                "type" : "integer",
                "description" : "Number of different models involved"
              },
              "minScore" : {
                "type" : "number",
                "description" : "Minimum similarity score in the group"
              },
              "maxScore" : {
                "type" : "number",
                "description" : "Maximum similarity score in the group"
              }
            }
          }
        }
      },
      "ModelObject" : {
        "required" : [ "id", "modelId", "modelName", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the object"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the object"
          },
          "semanticRole" : {
            "type" : "string",
            "description" : "Semantic role of the object"
          },
          "modelId" : {
            "type" : "string",
            "description" : "ID of the model this object belongs to"
          },
          "modelName" : {
            "type" : "string",
            "description" : "Name of the model this object belongs to"
          },
          "modelDesc" : {
            "type" : "string",
            "description" : "Description of the model this object belongs to"
          }
        }
      },
      "LinkedObject" : {
        "required" : [ "confidence", "id", "linkingReason", "modelId", "modelName", "name", "score" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "Unique identifier for the object"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the object"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the object"
          },
          "semanticRole" : {
            "type" : "string",
            "description" : "Semantic role of the object"
          },
          "modelId" : {
            "type" : "string",
            "description" : "ID of the model this object belongs to"
          },
          "modelName" : {
            "type" : "string",
            "description" : "Name of the model this object belongs to"
          },
          "modelDesc" : {
            "type" : "string",
            "description" : "Description of the model this object belongs to"
          },
          "score" : {
            "type" : "number",
            "description" : "Similarity score for this linking (0.0 to 1.0)"
          },
          "confidence" : {
            "type" : "string",
            "description" : "Confidence level for this specific linking",
            "enum" : [ "high", "medium", "low" ]
          },
          "linkingReason" : {
            "type" : "string",
            "description" : "AI-generated explanation for why this object was linked"
          }
        }
      },
      "MosaicLinkingModelSearchRequest" : {
        "required" : [ "input" ],
        "type" : "object",
        "properties" : {
          "history" : {
            "type" : "array",
            "description" : "chat history",
            "items" : {
              "type" : "array"
            }
          },
          "libraryServerUrl" : {
            "type" : "string",
            "description" : "URL of the library server to query models for linking"
          },
          "input" : {
            "type" : "string",
            "description" : "user input query",
            "example" : "I need a model that contains authoritative sales data and compatible with my campaign model, so I can access sales metric to evaluate campaign ROI."
          },
          "sourceModelInfo" : {
            "type" : "array",
            "description" : "List of source model IDs to find compatible models for linking",
            "items" : {
              "required" : [ "id", "name" ],
              "type" : "object",
              "properties" : {
                "id" : {
                  "type" : "string",
                  "description" : "Unique identifier for the source model"
                },
                "name" : {
                  "type" : "string",
                  "description" : "Name of the source model"
                },
                "description" : {
                  "type" : "string",
                  "description" : "Description of the source model"
                }
              }
            }
          }
        }
      },
      "MosaicLinkingModelSearchResponse" : {
        "required" : [ "result" ],
        "type" : "object",
        "properties" : {
          "result" : {
            "type" : "object",
            "properties" : {
              "models" : {
                "type" : "array",
                "items" : {
                  "required" : [ "id", "name" ],
                  "type" : "object",
                  "properties" : {
                    "id" : {
                      "type" : "string"
                    },
                    "projectId" : {
                      "type" : "string"
                    },
                    "name" : {
                      "type" : "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "MosaicLinkingModelLinkingRequest" : {
        "required" : [ "sourceModels", "targetModels" ],
        "type" : "object",
        "properties" : {
          "sourceModels" : {
            "type" : "array",
            "items" : {
              "required" : [ "id" ],
              "type" : "object",
              "properties" : {
                "id" : {
                  "type" : "string"
                },
                "name" : {
                  "type" : "string"
                },
                "description" : {
                  "type" : "string"
                }
              }
            }
          },
          "targetModels" : {
            "type" : "array",
            "items" : {
              "required" : [ "id", "name" ],
              "type" : "object",
              "properties" : {
                "id" : {
                  "type" : "string"
                },
                "name" : {
                  "type" : "string"
                },
                "description" : {
                  "type" : "string"
                }
              }
            }
          },
          "libraryServerUrl" : {
            "type" : "string",
            "description" : "URL of the library server to query models for linking"
          }
        }
      },
      "PythonChatRequest" : {
        "required" : [ "input" ],
        "type" : "object",
        "properties" : {
          "input" : {
            "type" : "string",
            "description" : "user input query",
            "example" : "I need a script to get sample data so I can import it to a cube"
          },
          "history" : {
            "type" : "array",
            "description" : "chat history",
            "items" : {
              "type" : "array"
            }
          },
          "installedLibs" : {
            "type" : "array",
            "description" : "List of installed Python libraries",
            "items" : {
              "type" : "object"
            }
          },
          "pythonVersion" : {
            "type" : "string",
            "description" : "Python version to use for the query",
            "example" : "3.10"
          },
          "whitelist" : {
            "type" : "array",
            "description" : "List of whitelisted domains for network access",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "PythonChatResponse" : {
        "required" : [ "result" ],
        "type" : "object",
        "properties" : {
          "result" : {
            "type" : "string",
            "description" : "AI response"
          }
        }
      },
      "ADC" : {
        "title" : "ADC",
        "required" : [ "adc_id", "datasets", "name", "unstructured_data", "version_id" ],
        "properties" : {
          "adc_id" : {
            "title" : "Adc Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "version_id" : {
            "title" : "Version Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "datasets" : {
            "title" : "Datasets",
            "items" : {
              "$ref" : "#/components/schemas/Dataset"
            }
          },
          "unstructured_data" : {
            "title" : "Unstructured Data",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataset"
            }
          }
        }
      },
      "ADCForResetDescription" : {
        "title" : "ADCForResetDescription",
        "required" : [ "adc_id", "datasets", "name" ],
        "properties" : {
          "adc_id" : {
            "title" : "Adc Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "datasets" : {
            "title" : "Datasets",
            "items" : {
              "$ref" : "#/components/schemas/DatasetForResetDescription"
            }
          }
        }
      },
      "ADCIdsGroup" : {
        "title" : "ADCIdsGroup",
        "required" : [ "adc_id" ],
        "properties" : {
          "adc_id" : {
            "title" : "Adc Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "AIProcessData" : {
        "title" : "AIProcessData",
        "required" : [ "request_time" ],
        "properties" : {
          "request_time" : {
            "title" : "Request Time",
            "format" : "date-time"
          },
          "success" : {
            "title" : "Success",
            "default" : true
          },
          "start_time" : {
            "title" : "Start Time",
            "default" : ""
          },
          "end_time" : {
            "title" : "End Time",
            "default" : ""
          },
          "event_name" : {
            "title" : "Event Name",
            "default" : ""
          },
          "ai_process_summary" : {
            "title" : "Ai Process Summary",
            "default" : ""
          },
          "step_duration" : {
            "title" : "Step Duration",
            "default" : 0
          },
          "execution_order" : {
            "title" : "Execution Order",
            "default" : 1
          },
          "child_execution_order" : {
            "title" : "Child Execution Order",
            "default" : 1
          },
          "events" : {
            "title" : "Events",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : {
                  "anyOf" : [ { }, { } ]
                }
              }
            }, { } ]
          }
        }
      },
      "AdditionalContext" : {
        "title" : "AdditionalContext",
        "properties" : {
          "clarifying_suggestions" : {
            "title" : "Clarifying Suggestions",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "ner_tags" : {
            "title" : "Ner Tags",
            "anyOf" : [ {
              "additionalProperties" : {
                "items" : { }
              }
            }, { } ]
          }
        }
      },
      "AskCancelRequest" : {
        "title" : "AskCancelRequest",
        "required" : [ "bot_id", "conversation_id", "question_id", "user_id" ],
        "properties" : {
          "library_url" : {
            "title" : "Library Url",
            "anyOf" : [ {
              "maxLength" : 2083,
              "minLength" : 1,
              "format" : "uri"
            }, { } ]
          },
          "question_id" : {
            "title" : "Question Id"
          },
          "bot_id" : {
            "title" : "Bot Id",
            "format" : "uuid"
          },
          "user_id" : {
            "title" : "User Id"
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "format" : "uuid"
          }
        }
      },
      "AskProgressStep" : {
        "title" : "AskProgressStep",
        "properties" : {
          "step_id" : {
            "title" : "Step Id",
            "default" : 0
          },
          "step_name" : {
            "$ref" : "#/components/schemas/ProgressEnum"
          },
          "step_result" : {
            "title" : "Step Result",
            "default" : ""
          }
        }
      },
      "AskRequest" : {
        "title" : "AskRequest",
        "required" : [ "bot_id", "conversation_id", "question", "question_id", "user_id" ],
        "properties" : {
          "library_url" : {
            "title" : "Library Url",
            "anyOf" : [ {
              "maxLength" : 2083,
              "minLength" : 1,
              "format" : "uri"
            }, { } ]
          },
          "question" : {
            "title" : "Question"
          },
          "question_id" : {
            "title" : "Question Id"
          },
          "bot_id" : {
            "title" : "Bot Id",
            "format" : "uuid"
          },
          "user_id" : {
            "title" : "User Id"
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "format" : "uuid"
          },
          "history" : {
            "title" : "History",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/Message"
              }
            }, { } ]
          },
          "text_only" : {
            "title" : "Text Only",
            "anyOf" : [ { }, { } ]
          },
          "charts" : {
            "title" : "Charts",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "history_from_quote" : {
            "title" : "History From Quote",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "need_summary" : {
            "title" : "Need Summary",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "use_cache" : {
            "title" : "Use Cache",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "create_new_cache_groups" : {
            "title" : "Create New Cache Groups",
            "anyOf" : [ { }, { } ],
            "default" : true
          },
          "is_landing_page_question" : {
            "title" : "Is Landing Page Question",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "universal_bot_id" : {
            "title" : "Universal Bot Id",
            "anyOf" : [ {
              "format" : "uuid"
            }, { } ]
          },
          "enable_stream" : {
            "title" : "Enable Stream",
            "default" : false
          },
          "question_info" : {
            "title" : "Question Info",
            "anyOf" : [ { }, { } ]
          },
          "bot_json" : {
            "title" : "Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "adc_json" : {
            "title" : "Adc Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "universal_bot_json" : {
            "title" : "Universal Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "files" : {
            "title" : "Files",
            "anyOf" : [ {
              "items" : {
                "anyOf" : [ {
                  "pattern" : "^[0-9A-F]{32}$"
                }, {
                  "format" : "uuid"
                } ]
              }
            }, { } ]
          },
          "elements" : {
            "title" : "Elements",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/QuotedElement"
              }
            }, { } ]
          },
          "usl_bot_enabled" : {
            "title" : "Usl Bot Enabled",
            "default" : false
          },
          "use_research" : {
            "title" : "Use Research",
            "anyOf" : [ { }, { } ]
          },
          "use_autothink" : {
            "title" : "Use Autothink",
            "default" : false
          },
          "enable_totals_on_grid" : {
            "title" : "Enable Totals On Grid",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "use_web_search" : {
            "title" : "Use Web Search",
            "anyOf" : [ { }, { } ]
          },
          "user_location" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/UserLocation"
            }, { } ]
          },
          "user_timezone" : {
            "title" : "User Timezone",
            "anyOf" : [ { }, { } ]
          },
          "feature_flags" : {
            "title" : "Feature Flags",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          }
        }
      },
      "AskResponse" : {
        "title" : "AskResponse",
        "required" : [ "answer", "route" ],
        "properties" : {
          "answer" : {
            "title" : "Answer"
          },
          "insights" : {
            "title" : "Insights",
            "anyOf" : [ { }, { } ]
          },
          "charts" : {
            "title" : "Charts",
            "items" : {
              "additionalProperties" : true
            },
            "default" : [ ]
          },
          "explanation" : {
            "title" : "Explanation",
            "items" : { },
            "default" : [ ]
          },
          "column_formats" : {
            "title" : "Column Formats",
            "additionalProperties" : {
              "anyOf" : [ {
                "$ref" : "#/components/schemas/ColumnFormatAttribute"
              }, {
                "$ref" : "#/components/schemas/ColumnFormatMetric"
              } ]
            },
            "default" : { }
          },
          "route" : {
            "title" : "Route"
          },
          "attributes_used" : {
            "title" : "Attributes Used",
            "items" : { },
            "default" : [ ]
          },
          "metrics_used" : {
            "title" : "Metrics Used",
            "items" : { },
            "default" : [ ]
          },
          "datasets_used" : {
            "title" : "Datasets Used",
            "items" : { },
            "default" : [ ]
          },
          "attribute_forms_used" : {
            "title" : "Attribute Forms Used",
            "items" : { },
            "default" : [ ]
          },
          "sql_queries" : {
            "title" : "Sql Queries",
            "items" : { },
            "default" : [ ]
          },
          "interpreted_question" : {
            "title" : "Interpreted Question",
            "anyOf" : [ { }, { } ]
          },
          "summary" : {
            "title" : "Summary",
            "default" : ""
          },
          "diagnostics_data" : {
            "title" : "Diagnostics Data",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/DiagnosticsDataRow"
              }
            }, { } ]
          },
          "locale" : {
            "title" : "Locale",
            "anyOf" : [ { }, { } ],
            "default" : "en-US"
          },
          "clarifying_suggestions" : {
            "title" : "Clarifying Suggestions",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "unstructured_data_used" : {
            "title" : "Unstructured Data Used",
            "items" : {
              "$ref" : "#/components/schemas/VectorSearchFileResultRow"
            },
            "default" : [ ]
          },
          "additional_context" : {
            "title" : "Additional Context",
            "anyOf" : [ { }, { } ]
          },
          "elements" : {
            "title" : "Elements",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/QuotedElement"
              }
            }, { } ]
          },
          "is_cache_used" : {
            "title" : "Is Cache Used",
            "default" : false
          },
          "use_usl" : {
            "title" : "Use Usl",
            "default" : false
          },
          "telemetry" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/TelemetryLogList"
            }, { } ]
          }
        }
      },
      "AskSqlQueryRequest" : {
        "title" : "AskSqlQueryRequest",
        "required" : [ "bot_id", "conversation_id", "question", "question_id", "sql", "user_id" ],
        "properties" : {
          "library_url" : {
            "title" : "Library Url",
            "anyOf" : [ {
              "maxLength" : 2083,
              "minLength" : 1,
              "format" : "uri"
            }, { } ]
          },
          "question" : {
            "title" : "Question"
          },
          "question_id" : {
            "title" : "Question Id"
          },
          "bot_id" : {
            "title" : "Bot Id",
            "format" : "uuid"
          },
          "user_id" : {
            "title" : "User Id"
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "format" : "uuid"
          },
          "history" : {
            "title" : "History",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/Message"
              }
            }, { } ]
          },
          "text_only" : {
            "title" : "Text Only",
            "anyOf" : [ { }, { } ]
          },
          "charts" : {
            "title" : "Charts",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "history_from_quote" : {
            "title" : "History From Quote",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "need_summary" : {
            "title" : "Need Summary",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "use_cache" : {
            "title" : "Use Cache",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "create_new_cache_groups" : {
            "title" : "Create New Cache Groups",
            "anyOf" : [ { }, { } ],
            "default" : true
          },
          "is_landing_page_question" : {
            "title" : "Is Landing Page Question",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "universal_bot_id" : {
            "title" : "Universal Bot Id",
            "anyOf" : [ {
              "format" : "uuid"
            }, { } ]
          },
          "enable_stream" : {
            "title" : "Enable Stream",
            "default" : false
          },
          "question_info" : {
            "title" : "Question Info",
            "anyOf" : [ { }, { } ]
          },
          "bot_json" : {
            "title" : "Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "adc_json" : {
            "title" : "Adc Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "universal_bot_json" : {
            "title" : "Universal Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "files" : {
            "title" : "Files",
            "anyOf" : [ {
              "items" : {
                "anyOf" : [ {
                  "pattern" : "^[0-9A-F]{32}$"
                }, {
                  "format" : "uuid"
                } ]
              }
            }, { } ]
          },
          "elements" : {
            "title" : "Elements",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/QuotedElement"
              }
            }, { } ]
          },
          "usl_bot_enabled" : {
            "title" : "Usl Bot Enabled",
            "default" : false
          },
          "use_research" : {
            "title" : "Use Research",
            "anyOf" : [ { }, { } ]
          },
          "use_autothink" : {
            "title" : "Use Autothink",
            "default" : false
          },
          "enable_totals_on_grid" : {
            "title" : "Enable Totals On Grid",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "use_web_search" : {
            "title" : "Use Web Search",
            "anyOf" : [ { }, { } ]
          },
          "user_location" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/UserLocation"
            }, { } ]
          },
          "user_timezone" : {
            "title" : "User Timezone",
            "anyOf" : [ { }, { } ]
          },
          "feature_flags" : {
            "title" : "Feature Flags",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "sql" : {
            "title" : "Sql"
          }
        }
      },
      "AskTelemetryMessage" : {
        "title" : "AskTelemetryMessage",
        "properties" : {
          "object_id" : {
            "title" : "Object Id",
            "default" : ""
          },
          "ai_question_type_id" : {
            "title" : "Ai Question Type Id",
            "default" : 10
          },
          "ai_assistant_category_id" : {
            "title" : "Ai Assistant Category Id",
            "default" : 4
          },
          "question_id" : {
            "title" : "Question Id",
            "default" : ""
          },
          "interaction_id" : {
            "title" : "Interaction Id",
            "default" : ""
          },
          "user_id" : {
            "title" : "User Id",
            "default" : ""
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "default" : ""
          },
          "question" : {
            "title" : "Question",
            "default" : ""
          },
          "question_interpretation" : {
            "title" : "Question Interpretation",
            "default" : ""
          },
          "answer" : {
            "title" : "Answer",
            "default" : ""
          },
          "status_code" : {
            "title" : "Status Code",
            "default" : 200
          },
          "route" : {
            "title" : "Route",
            "default" : ""
          },
          "request_time" : {
            "title" : "Request Time",
            "default" : ""
          },
          "total_elapsed_time" : {
            "title" : "Total Elapsed Time",
            "default" : 0
          },
          "error" : {
            "title" : "Error",
            "default" : ""
          },
          "project_id" : {
            "title" : "Project Id",
            "default" : ""
          },
          "insights" : {
            "title" : "Insights",
            "default" : ""
          },
          "summary" : {
            "title" : "Summary",
            "default" : ""
          },
          "openai_fingerprint" : {
            "title" : "Openai Fingerprint",
            "default" : ""
          },
          "picked_attribute_form_names" : {
            "title" : "Picked Attribute Form Names",
            "items" : { }
          },
          "picked_metrics_names" : {
            "title" : "Picked Metrics Names",
            "items" : { }
          },
          "attributes_used" : {
            "title" : "Attributes Used",
            "items" : { }
          },
          "metrics_used" : {
            "title" : "Metrics Used",
            "items" : { }
          },
          "datasets_used" : {
            "title" : "Datasets Used",
            "items" : { }
          },
          "attribute_forms_used" : {
            "title" : "Attribute Forms Used",
            "items" : { }
          },
          "queries" : {
            "title" : "Queries",
            "items" : {
              "$ref" : "#/components/schemas/Query"
            }
          },
          "components" : {
            "title" : "Components",
            "items" : {
              "$ref" : "#/components/schemas/Component"
            }
          },
          "explanation" : {
            "title" : "Explanation",
            "items" : { }
          }
        }
      },
      "AtlasAskRequest" : {
        "title" : "AtlasAskRequest",
        "required" : [ "conversation_id", "library_url", "question", "question_id", "user_id" ],
        "properties" : {
          "library_url" : {
            "title" : "Library Url",
            "description" : "Library URL for context"
          },
          "question" : {
            "title" : "Question",
            "description" : "The user's query"
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "description" : "Conversation ID for context"
          },
          "question_id" : {
            "title" : "Question Id",
            "description" : "Question ID for tracking",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "user_id" : {
            "title" : "User Id",
            "description" : "User ID for the request"
          },
          "enable_stream" : {
            "title" : "Enable Stream",
            "description" : "Whether to enable streaming response",
            "default" : true
          },
          "use_search" : {
            "title" : "Use Search",
            "description" : "Whether to enable search functionality",
            "default" : false
          },
          "selected_objects" : {
            "title" : "Selected Objects",
            "description" : "Pre-selected bot object with id, name, type, project_id",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "history" : {
            "title" : "History",
            "description" : "Optional conversation history",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "charts" : {
            "title" : "Charts",
            "description" : "Optional list of chart configurations",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "need_summary" : {
            "title" : "Need Summary",
            "description" : "Whether to generate a conversation summary",
            "default" : false
          },
          "theme_colors" : {
            "description" : "Optional theme colors for visualizations",
            "anyOf" : [ {
              "$ref" : "#/components/schemas/ThemeColors"
            }, { } ]
          }
        },
        "description" : "Request schema for the /atlas/ask endpoint."
      },
      "AttributeDescriptionRequest" : {
        "title" : "AttributeDescriptionRequest",
        "required" : [ "attribute_name", "data_type", "form_name", "language", "samples", "table_summary" ],
        "properties" : {
          "language" : {
            "title" : "Language"
          },
          "attribute_name" : {
            "title" : "Attribute Name"
          },
          "form_name" : {
            "title" : "Form Name",
            "anyOf" : [ { }, { } ]
          },
          "table_summary" : {
            "title" : "Table Summary"
          },
          "samples" : {
            "title" : "Samples"
          },
          "data_type" : {
            "title" : "Data Type"
          }
        }
      },
      "AttributeForResetDescription" : {
        "title" : "AttributeForResetDescription",
        "required" : [ "forms", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "forms" : {
            "title" : "Forms",
            "items" : {
              "$ref" : "#/components/schemas/FormForResetDescription"
            }
          }
        }
      },
      "AttributeFormNerStatus" : {
        "title" : "AttributeFormNerStatus",
        "required" : [ "attribute_id", "form_id", "status" ],
        "properties" : {
          "attribute_id" : {
            "title" : "Attribute Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "form_id" : {
            "title" : "Form Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "status" : {
            "title" : "Status"
          }
        }
      },
      "AutoDashTelemetryMessage" : {
        "title" : "AutoDashTelemetryMessage",
        "properties" : {
          "object_id" : {
            "title" : "Object Id",
            "default" : ""
          },
          "question_id" : {
            "title" : "Question Id",
            "default" : ""
          },
          "user_id" : {
            "title" : "User Id",
            "default" : ""
          },
          "question" : {
            "title" : "Question",
            "default" : ""
          },
          "total_elapsed_time" : {
            "title" : "Total Elapsed Time",
            "default" : 0
          },
          "error" : {
            "title" : "Error",
            "default" : ""
          },
          "route" : {
            "title" : "Route",
            "default" : ""
          },
          "project_id" : {
            "title" : "Project Id",
            "default" : ""
          },
          "answer" : {
            "title" : "Answer",
            "default" : ""
          },
          "ai_question_type_id" : {
            "title" : "Ai Question Type Id",
            "default" : 13
          },
          "ai_assistant_category_id" : {
            "title" : "Ai Assistant Category Id",
            "default" : 3
          },
          "request_time" : {
            "title" : "Request Time",
            "default" : ""
          },
          "components" : {
            "title" : "Components",
            "items" : {
              "$ref" : "#/components/schemas/Component"
            }
          }
        }
      },
      "BeautificationModes" : {
        "title" : "BeautificationModes",
        "enum" : [ "Simple", "Infographic", "Polished", "Dynamic" ]
      },
      "BotDescriptionRequest" : {
        "title" : "BotDescriptionRequest",
        "required" : [ "custom_instruction", "datasets", "id", "locale", "name", "project_id", "unstructured_datasets" ],
        "properties" : {
          "id" : {
            "title" : "Id"
          },
          "project_id" : {
            "title" : "Project Id"
          },
          "locale" : {
            "title" : "Locale"
          },
          "name" : {
            "title" : "Name"
          },
          "custom_instruction" : {
            "title" : "Custom Instruction"
          },
          "datasets" : {
            "title" : "Datasets",
            "items" : {
              "$ref" : "#/components/schemas/DatasetInfo"
            }
          },
          "unstructured_datasets" : {
            "title" : "Unstructured Datasets",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataset"
            }
          }
        }
      },
      "BotID" : {
        "title" : "BotID",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "BotIDDescription" : {
        "title" : "BotIDDescription",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "BotInfo" : {
        "title" : "BotInfo",
        "required" : [ "id", "name", "project_id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "project_id" : {
            "title" : "Project Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "alias_name" : {
            "title" : "Alias Name",
            "default" : ""
          },
          "description" : {
            "title" : "Description",
            "default" : ""
          },
          "files" : {
            "title" : "Files",
            "items" : {
              "$ref" : "#/components/schemas/FileInfo"
            },
            "default" : [ ]
          }
        }
      },
      "BotRecommendationRequest" : {
        "title" : "BotRecommendationRequest",
        "required" : [ "bots", "conversation_id", "question", "question_id", "user_id" ],
        "properties" : {
          "question" : {
            "title" : "Question"
          },
          "question_id" : {
            "title" : "Question Id"
          },
          "user_id" : {
            "title" : "User Id"
          },
          "conversation_id" : {
            "title" : "Conversation Id",
            "format" : "uuid"
          },
          "history" : {
            "title" : "History",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/Message"
              }
            }, { } ]
          },
          "bots" : {
            "title" : "Bots",
            "items" : {
              "$ref" : "#/components/schemas/BotInfo"
            }
          },
          "universal_bot_json" : {
            "title" : "Universal Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          }
        }
      },
      "BotRecommendationResponse" : {
        "title" : "BotRecommendationResponse",
        "required" : [ "bots" ],
        "properties" : {
          "bots" : {
            "title" : "Bots",
            "items" : {
              "$ref" : "#/components/schemas/BotWithProjectId"
            }
          },
          "question_info" : {
            "title" : "Question Info",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "BotResponse" : {
        "title" : "BotResponse",
        "required" : [ "id", "name", "status" ],
        "properties" : {
          "status" : {
            "title" : "Status"
          },
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "adcs" : {
            "title" : "Adcs",
            "items" : {
              "$ref" : "#/components/schemas/ADCIdsGroup"
            },
            "default" : [ ]
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          },
          "sqler_custom_instructions" : {
            "title" : "Sqler Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "speaker_custom_instructions" : {
            "title" : "Speaker Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "interpreter_custom_instructions" : {
            "title" : "Interpreter Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "denied_answer_custom_instructions" : {
            "title" : "Denied Answer Custom Instructions",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "BotShortInfo" : {
        "title" : "BotShortInfo",
        "required" : [ "description", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "description" : {
            "title" : "Description"
          }
        }
      },
      "BotWithProjectId" : {
        "title" : "BotWithProjectId",
        "required" : [ "id", "project_id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "project_id" : {
            "title" : "Project Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "CacheQuestionGroup" : {
        "title" : "CacheQuestionGroup",
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ { }, { } ]
          },
          "questionId" : {
            "title" : "Questionid",
            "anyOf" : [ { }, { } ]
          },
          "text" : {
            "title" : "Text",
            "anyOf" : [ { }, { } ]
          },
          "interpretedQuestion" : {
            "title" : "Interpretedquestion",
            "anyOf" : [ { }, { } ]
          },
          "columns" : {
            "title" : "Columns",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/CacheQuestionGroupColumn"
              }
            }, { } ]
          },
          "count" : {
            "title" : "Count",
            "anyOf" : [ { }, { } ]
          },
          "isPinned" : {
            "title" : "Ispinned",
            "anyOf" : [ { }, { } ]
          },
          "thumbUps" : {
            "title" : "Thumbups",
            "anyOf" : [ { }, { } ]
          },
          "thumbDowns" : {
            "title" : "Thumbdowns",
            "anyOf" : [ { }, { } ]
          },
          "createdTime" : {
            "title" : "Createdtime",
            "anyOf" : [ { }, { } ]
          },
          "updatedTime" : {
            "title" : "Updatedtime",
            "anyOf" : [ { }, { } ]
          },
          "sql" : {
            "title" : "Sql",
            "anyOf" : [ { }, { } ]
          },
          "user" : {
            "title" : "User",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "isAnswerQualified" : {
            "title" : "Isanswerqualified",
            "default" : true
          },
          "isLandingPageCache" : {
            "title" : "Islandingpagecache",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "CacheQuestionGroupColumn" : {
        "title" : "CacheQuestionGroupColumn",
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ { }, { }, { } ]
          },
          "name" : {
            "title" : "Name",
            "anyOf" : [ { }, { } ]
          },
          "type" : {
            "title" : "Type",
            "anyOf" : [ { }, { } ]
          },
          "attributeId" : {
            "title" : "Attributeid",
            "anyOf" : [ { }, { } ]
          },
          "datasetId" : {
            "title" : "Datasetid",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "CacheQuestionGroupQuestion" : {
        "title" : "CacheQuestionGroupQuestion",
        "properties" : {
          "groupId" : {
            "title" : "Groupid",
            "anyOf" : [ { }, { } ]
          },
          "questionId" : {
            "title" : "Questionid",
            "anyOf" : [ { }, { } ]
          },
          "question" : {
            "title" : "Question",
            "anyOf" : [ { }, { } ]
          },
          "interpretedQuestion" : {
            "title" : "Interpretedquestion",
            "anyOf" : [ { }, { } ]
          },
          "similarity" : {
            "title" : "Similarity",
            "anyOf" : [ { }, { } ]
          },
          "sentiment" : {
            "title" : "Sentiment",
            "anyOf" : [ { }, { } ]
          },
          "agents" : {
            "title" : "Agents",
            "anyOf" : [ {
              "additionalProperties" : { }
            }, { } ]
          },
          "userName" : {
            "title" : "Username",
            "anyOf" : [ { }, { } ]
          },
          "date" : {
            "title" : "Date",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "CacheQuestionGroupQuestionAnswer" : {
        "title" : "CacheQuestionGroupQuestionAnswer",
        "properties" : {
          "charts" : {
            "title" : "Charts",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "columnFormats" : {
            "title" : "Columnformats",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "text" : {
            "title" : "Text",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "CacheQuestionGroupQuestions" : {
        "title" : "CacheQuestionGroupQuestions",
        "properties" : {
          "questions" : {
            "title" : "Questions",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/CacheQuestionGroupQuestion"
              }
            }, { } ]
          }
        }
      },
      "CacheQuestionGroups" : {
        "title" : "CacheQuestionGroups",
        "properties" : {
          "questionGroups" : {
            "title" : "Questiongroups",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/CacheQuestionGroup"
              }
            }, { } ]
          }
        }
      },
      "ChatRequest" : {
        "title" : "ChatRequest",
        "required" : [ "dashboard_context", "dossier_id", "dossier_instance_id", "image_content", "library_url", "message", "question_id" ],
        "properties" : {
          "message" : {
            "title" : "Message",
            "description" : "User's natural language message describing the requirement or intent."
          },
          "image_content" : {
            "title" : "Image Content",
            "description" : "User uploaded image encoded in base64"
          },
          "question_id" : {
            "title" : "Question Id",
            "description" : "Unique ID for the user's question for state management."
          },
          "dossier_id" : {
            "title" : "Dossier Id",
            "description" : "Unique identifier of the dossier being accessed in Strategy."
          },
          "dossier_instance_id" : {
            "title" : "Dossier Instance Id",
            "description" : "Unique identifier of the current instance of the dossier."
          },
          "library_url" : {
            "title" : "Library Url",
            "description" : "Base URL of the Strategy Library server being used."
          },
          "dashboard_context" : {
            "$ref" : "#/components/schemas/DashboardContext"
          },
          "history" : {
            "title" : "History",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/HistoryItem"
              }
            }, { } ]
          }
        }
      },
      "ColumnAttributesRequest" : {
        "title" : "ColumnAttributesRequest",
        "required" : [ "forms", "id" ],
        "properties" : {
          "id" : {
            "title" : "Id"
          },
          "forms" : {
            "title" : "Forms",
            "items" : {
              "$ref" : "#/components/schemas/IdDescriptionRequest"
            }
          }
        }
      },
      "ColumnFormatAttribute" : {
        "title" : "ColumnFormatAttribute",
        "properties" : {
          "base_form_type" : {
            "title" : "Base Form Type",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "ColumnFormatMetric" : {
        "title" : "ColumnFormatMetric",
        "properties" : {
          "number_category" : {
            "title" : "Number Category",
            "anyOf" : [ { }, { } ]
          },
          "number_decimal_places" : {
            "title" : "Number Decimal Places",
            "anyOf" : [ { }, { } ]
          },
          "number_thousand_separator" : {
            "title" : "Number Thousand Separator",
            "anyOf" : [ { }, { } ]
          },
          "number_currency_symbol" : {
            "title" : "Number Currency Symbol",
            "anyOf" : [ { }, { } ]
          },
          "number_currency_position" : {
            "title" : "Number Currency Position",
            "anyOf" : [ { }, { } ]
          },
          "number_format" : {
            "title" : "Number Format",
            "anyOf" : [ { }, { } ]
          },
          "number_negative_numbers" : {
            "title" : "Number Negative Numbers",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "ColumnsPatchRequest" : {
        "title" : "ColumnsPatchRequest",
        "properties" : {
          "attributes" : {
            "title" : "Attributes",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/ColumnAttributesRequest"
              }
            }, { } ],
            "default" : [ ]
          },
          "metrics" : {
            "title" : "Metrics",
            "anyOf" : [ {
              "items" : {
                "anyOf" : [ {
                  "$ref" : "#/components/schemas/IdDescriptionRequest"
                }, { } ]
              }
            }, { } ],
            "default" : [ ]
          }
        }
      },
      "Component" : {
        "title" : "Component",
        "properties" : {
          "component_name" : {
            "title" : "Component Name",
            "default" : ""
          },
          "elapsed_time" : {
            "title" : "Elapsed Time",
            "default" : 0
          },
          "request_time" : {
            "title" : "Request Time",
            "default" : ""
          },
          "error" : {
            "title" : "Error",
            "default" : ""
          }
        }
      },
      "CompoundAttributeDescriptionRequest" : {
        "title" : "CompoundAttributeDescriptionRequest",
        "required" : [ "attribute_name", "formula", "language", "table_summary", "type" ],
        "properties" : {
          "language" : {
            "title" : "Language"
          },
          "attribute_name" : {
            "title" : "Attribute Name"
          },
          "table_summary" : {
            "title" : "Table Summary"
          },
          "components" : {
            "title" : "Components",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "formula" : {
            "title" : "Formula"
          },
          "type" : {
            "title" : "Type",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "CompoundMetricDescriptionRequest" : {
        "title" : "CompoundMetricDescriptionRequest",
        "required" : [ "formula", "language", "metric_name", "table_summary", "type" ],
        "properties" : {
          "language" : {
            "title" : "Language"
          },
          "metric_name" : {
            "title" : "Metric Name"
          },
          "table_summary" : {
            "title" : "Table Summary"
          },
          "components" : {
            "title" : "Components",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "formula" : {
            "title" : "Formula"
          },
          "type" : {
            "title" : "Type"
          }
        }
      },
      "CopyCacheRequest" : {
        "title" : "CopyCacheRequest",
        "required" : [ "sourceBotId" ],
        "properties" : {
          "sourceBotId" : {
            "title" : "Sourcebotid",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "CreateBotRequest" : {
        "title" : "CreateBotRequest",
        "required" : [ "version_id" ],
        "properties" : {
          "columns" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/ColumnsPatchRequest"
            }, { } ]
          },
          "datasets" : {
            "title" : "Datasets",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/IdDescriptionRequest"
              }
            }, { } ],
            "default" : [ ]
          },
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            }, { } ]
          },
          "locale" : {
            "title" : "Locale",
            "default" : "1033"
          },
          "version_id" : {
            "title" : "Version Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name",
            "default" : "default_bot"
          },
          "adc_ids" : {
            "title" : "Adc Ids",
            "items" : {
              "$ref" : "#/components/schemas/ADCIdsGroup"
            },
            "default" : [ ]
          },
          "library_url" : {
            "title" : "Library Url",
            "anyOf" : [ {
              "maxLength" : 2083,
              "minLength" : 1,
              "format" : "uri"
            }, { } ]
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          },
          "sqler_custom_instructions" : {
            "title" : "Sqler Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "speaker_custom_instructions" : {
            "title" : "Speaker Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "interpreter_custom_instructions" : {
            "title" : "Interpreter Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "denied_answer_custom_instructions" : {
            "title" : "Denied Answer Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "temperature_attribute_picker" : {
            "title" : "Temperature Attribute Picker"
          },
          "temperature_metric_picker" : {
            "title" : "Temperature Metric Picker"
          },
          "temperature_speaker" : {
            "title" : "Temperature Speaker"
          },
          "bot_ids" : {
            "title" : "Bot Ids",
            "items" : {
              "$ref" : "#/components/schemas/BotIDDescription"
            },
            "default" : [ ]
          },
          "is_copy" : {
            "title" : "Is Copy",
            "default" : false
          }
        }
      },
      "CreateNewQuestionGroupRequestContent" : {
        "title" : "CreateNewQuestionGroupRequestContent",
        "required" : [ "questions" ],
        "properties" : {
          "questions" : {
            "title" : "Questions",
            "items" : {
              "$ref" : "#/components/schemas/UpdateQuestionId"
            }
          }
        }
      },
      "CubeDumpRequest" : {
        "title" : "CubeDumpRequest",
        "required" : [ "cubeObjects" ],
        "properties" : {
          "cubeObjects" : {
            "title" : "Cubeobjects",
            "items" : {
              "$ref" : "#/components/schemas/CubeObject"
            }
          }
        }
      },
      "CubeStatusRequest" : {
        "title" : "CubeStatusRequest",
        "required" : [ "cubeIds" ],
        "properties" : {
          "cubeIds" : {
            "title" : "Cubeids",
            "items" : {
              "anyOf" : [ {
                "pattern" : "^[0-9A-F]{32}$"
              }, {
                "format" : "uuid"
              } ]
            }
          }
        }
      },
      "CubeTypeStrEnum" : {
        "title" : "CubeTypeStrEnum",
        "enum" : [ "OLAP", "MTDI", "SUBSET_REPORT" ]
      },
      "DMSourceEnum" : {
        "title" : "DMSourceEnum",
        "enum" : [ 0, 1, 2 ]
      },
      "DashboardContext" : {
        "title" : "DashboardContext",
        "required" : [ "chapter_key", "page_key", "page_title", "palettes", "selected_components" ],
        "properties" : {
          "chapter_key" : {
            "title" : "Chapter Key",
            "description" : "Current Chapter Key"
          },
          "page_key" : {
            "title" : "Page Key",
            "description" : "Current Page Key"
          },
          "page_title" : {
            "title" : "Page Title",
            "description" : "Current Page Title"
          },
          "selected_components" : {
            "title" : "Selected Components",
            "description" : "Keys of the selected components",
            "items" : {
              "anyOf" : [ { }, {
                "additionalProperties" : true
              } ]
            }
          },
          "palettes" : {
            "title" : "Palettes",
            "items" : {
              "$ref" : "#/components/schemas/PaletteData"
            }
          },
          "beauty_mode" : {
            "description" : "Current Beautification Mode",
            "anyOf" : [ {
              "$ref" : "#/components/schemas/BeautificationModes"
            }, { } ],
            "default" : "Polished"
          },
          "data" : {
            "title" : "Data",
            "additionalProperties" : true,
            "description" : "The full, raw dashboard definition object."
          },
          "datasets" : {
            "title" : "Datasets",
            "additionalProperties" : true,
            "description" : "A dictionary of datasets available in the dashboard context."
          },
          "defn" : {
            "title" : "Defn",
            "additionalProperties" : true,
            "description" : "Definition of the dashboard"
          }
        }
      },
      "DashboardCore" : {
        "title" : "DashboardCore",
        "required" : [ "chapter_key", "data", "page_key", "page_title", "palettes", "selected_components" ],
        "properties" : {
          "page_title" : {
            "title" : "Page Title",
            "description" : "Current Page Title"
          },
          "page_key" : {
            "title" : "Page Key",
            "description" : "Key of the currently active page."
          },
          "chapter_key" : {
            "title" : "Chapter Key",
            "description" : "Key of the currently active chapter."
          },
          "selected_components" : {
            "title" : "Selected Components",
            "description" : "List of keys for selected components on the dashboard.",
            "items" : {
              "anyOf" : [ { }, {
                "additionalProperties" : true
              } ]
            }
          },
          "data" : {
            "title" : "Data",
            "additionalProperties" : true,
            "description" : "The full, raw dashboard definition object."
          },
          "datasets" : {
            "title" : "Datasets",
            "additionalProperties" : true,
            "description" : "A dictionary of datasets available in the dashboard context."
          },
          "defn" : {
            "title" : "Defn",
            "additionalProperties" : true,
            "description" : "Definition of the dashboard"
          },
          "palettes" : {
            "title" : "Palettes",
            "items" : {
              "$ref" : "#/components/schemas/PaletteData"
            }
          }
        },
        "description" : "Represents the context of the dashboard provided in the request."
      },
      "DatasetForResetDescription" : {
        "title" : "DatasetForResetDescription",
        "required" : [ "description", "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "description" : {
            "title" : "Description"
          },
          "attributes" : {
            "title" : "Attributes",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/AttributeForResetDescription"
              }
            }, { } ]
          },
          "metrics" : {
            "title" : "Metrics",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/MetricForResetDescription"
              }
            }, { } ]
          }
        }
      },
      "DescriptionSummaryResponse" : {
        "title" : "DescriptionSummaryResponse",
        "required" : [ "description" ],
        "properties" : {
          "description" : {
            "title" : "Description"
          }
        }
      },
      "DescriptionSummaryResponseFormat" : {
        "title" : "DescriptionSummaryResponseFormat",
        "properties" : {
          "objects" : {
            "title" : "Objects",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/DescriptionSummaryResponse"
              }
            }, { } ]
          }
        }
      },
      "DiagnosticsDataRow" : {
        "title" : "DiagnosticsDataRow",
        "required" : [ "ai_process_data" ],
        "properties" : {
          "data_type" : {
            "title" : "Data Type",
            "default" : ""
          },
          "question_id" : {
            "title" : "Question Id",
            "default" : ""
          },
          "question_desc" : {
            "title" : "Question Desc",
            "default" : ""
          },
          "success" : {
            "title" : "Success",
            "default" : true
          },
          "step_start_timestamp" : {
            "title" : "Step Start Timestamp",
            "default" : 0
          },
          "ai_process_simplified_data" : {
            "title" : "Ai Process Simplified Data",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "ai_process_data" : {
            "$ref" : "#/components/schemas/AIProcessData"
          }
        }
      },
      "EmailSendResponse" : {
        "title" : "EmailSendResponse",
        "required" : [ "message", "success" ],
        "properties" : {
          "success" : {
            "title" : "Success",
            "description" : "Whether the email was sent successfully"
          },
          "message" : {
            "title" : "Message",
            "description" : "Details about the send operation"
          }
        }
      },
      "FileInfo" : {
        "title" : "FileInfo",
        "required" : [ "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          }
        }
      },
      "FormForResetDescription" : {
        "title" : "FormForResetDescription",
        "required" : [ "description", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "description" : {
            "title" : "Description"
          }
        }
      },
      "GetBotByIdResponse" : {
        "title" : "GetBotByIdResponse",
        "required" : [ "adcs", "id", "interpreter_custom_instructions", "name", "speaker_custom_instructions", "sqler_custom_instructions", "status", "temperature_attribute_picker", "temperature_metric_picker", "temperature_speaker" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "status" : {
            "title" : "Status"
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          },
          "sqler_custom_instructions" : {
            "title" : "Sqler Custom Instructions"
          },
          "speaker_custom_instructions" : {
            "title" : "Speaker Custom Instructions"
          },
          "interpreter_custom_instructions" : {
            "title" : "Interpreter Custom Instructions"
          },
          "denied_answer_custom_instructions" : {
            "title" : "Denied Answer Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "adcs" : {
            "title" : "Adcs",
            "items" : {
              "$ref" : "#/components/schemas/ADC"
            }
          },
          "temperature_attribute_picker" : {
            "title" : "Temperature Attribute Picker"
          },
          "temperature_metric_picker" : {
            "title" : "Temperature Metric Picker"
          },
          "temperature_speaker" : {
            "title" : "Temperature Speaker"
          },
          "attributes" : {
            "title" : "Attributes",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "metrics" : {
            "title" : "Metrics",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          }
        }
      },
      "GetDescriptionBotLevelResponse" : {
        "title" : "GetDescriptionBotLevelResponse",
        "required" : [ "bot_descs" ],
        "properties" : {
          "bot_descs" : {
            "title" : "Bot Descs",
            "items" : {
              "$ref" : "#/components/schemas/BotIDDescription"
            }
          }
        }
      },
      "GetDescriptionCubeLevelResponse" : {
        "title" : "GetDescriptionCubeLevelResponse",
        "required" : [ "adcs", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id"
          },
          "name" : {
            "title" : "Name"
          },
          "adcs" : {
            "title" : "Adcs",
            "items" : {
              "$ref" : "#/components/schemas/ADCForResetDescription"
            }
          }
        }
      },
      "GetUniversalBotByIdResponse" : {
        "title" : "GetUniversalBotByIdResponse",
        "required" : [ "bots", "id", "name", "status" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "status" : {
            "title" : "Status"
          },
          "sqler_custom_instructions" : {
            "title" : "Sqler Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "speaker_custom_instructions" : {
            "title" : "Speaker Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "interpreter_custom_instructions" : {
            "title" : "Interpreter Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "bots" : {
            "title" : "Bots",
            "items" : {
              "$ref" : "#/components/schemas/BotShortInfo"
            }
          }
        }
      },
      "HistoryItem" : {
        "title" : "HistoryItem",
        "required" : [ "content", "role" ],
        "properties" : {
          "role" : {
            "title" : "Role",
            "enum" : [ "system", "user", "assistant" ]
          },
          "content" : {
            "title" : "Content"
          }
        }
      },
      "IdDescriptionRequest" : {
        "title" : "IdDescriptionRequest",
        "required" : [ "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          },
          "hidden" : {
            "title" : "Hidden",
            "anyOf" : [ { }, { } ],
            "default" : false
          },
          "ner_status" : {
            "title" : "Ner Status",
            "anyOf" : [ {
              "enum" : [ 0, 1 ]
            }, { } ]
          }
        }
      },
      "LLMProvider" : {
        "title" : "LLMProvider",
        "enum" : [ "azure", "grok", "vox", "groq", "osoac", "google", "openai", "anthropic" ]
      },
      "LocaleRequest" : {
        "title" : "LocaleRequest",
        "required" : [ "column_names" ],
        "properties" : {
          "column_names" : {
            "title" : "Column Names",
            "items" : { }
          }
        }
      },
      "LocaleResponse" : {
        "title" : "LocaleResponse",
        "required" : [ "locale_id" ],
        "properties" : {
          "locale_id" : {
            "title" : "Locale Id"
          }
        }
      },
      "MergeQuestionGroupRequest" : {
        "title" : "MergeQuestionGroupRequest",
        "properties" : {
          "operationList" : {
            "title" : "Operationlist",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/MergeQuestionGroupRequestContent"
              }
            }, { } ]
          }
        }
      },
      "MergeQuestionGroupRequestContent" : {
        "title" : "MergeQuestionGroupRequestContent",
        "required" : [ "from", "op" ],
        "properties" : {
          "op" : {
            "title" : "Op",
            "enum" : [ "move", "move_to_new_group" ]
          },
          "path" : {
            "title" : "Path",
            "anyOf" : [ { }, { } ]
          },
          "from" : {
            "title" : "From"
          }
        }
      },
      "Metric" : {
        "title" : "Metric",
        "required" : [ "description", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "idx" : {
            "title" : "Idx",
            "anyOf" : [ { }, { } ]
          },
          "name" : {
            "title" : "Name"
          },
          "description" : {
            "title" : "Description"
          },
          "smart_metrics_flag" : {
            "title" : "Smart Metrics Flag",
            "default" : false
          },
          "derived_metrics_flag" : {
            "title" : "Derived Metrics Flag",
            "default" : false
          },
          "is_supported" : {
            "title" : "Is Supported",
            "default" : true
          },
          "source" : {
            "$ref" : "#/components/schemas/DMSourceEnum"
          },
          "hidden" : {
            "title" : "Hidden",
            "default" : false
          }
        }
      },
      "MetricDescriptionRequest" : {
        "title" : "MetricDescriptionRequest",
        "required" : [ "language", "metric_name", "samples", "table_summary" ],
        "properties" : {
          "language" : {
            "title" : "Language"
          },
          "metric_name" : {
            "title" : "Metric Name"
          },
          "table_summary" : {
            "title" : "Table Summary"
          },
          "samples" : {
            "title" : "Samples"
          }
        }
      },
      "MetricForResetDescription" : {
        "title" : "MetricForResetDescription",
        "required" : [ "description", "id", "name" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "description" : {
            "title" : "Description"
          }
        }
      },
      "NERElementsRequest" : {
        "title" : "NERElementsRequest",
        "required" : [ "adc", "bot" ],
        "properties" : {
          "forms" : {
            "title" : "Forms",
            "items" : {
              "$ref" : "#/components/schemas/NERIndexAttributeForm"
            },
            "default" : [ ]
          },
          "bot" : {
            "title" : "Bot",
            "additionalProperties" : true
          },
          "adc" : {
            "title" : "Adc",
            "additionalProperties" : true
          }
        }
      },
      "NERElementsResponse" : {
        "title" : "NERElementsResponse",
        "required" : [ "elements" ],
        "properties" : {
          "elements" : {
            "title" : "Elements",
            "additionalProperties" : {
              "items" : { }
            }
          }
        }
      },
      "NERIndexAttributeForm" : {
        "title" : "NERIndexAttributeForm",
        "required" : [ "form_id", "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "form_id" : {
            "title" : "Form Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "NERIndexingAttributeStatus" : {
        "title" : "NERIndexingAttributeStatus",
        "required" : [ "form_id", "id", "status" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "form_id" : {
            "title" : "Form Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "status" : {
            "$ref" : "#/components/schemas/NERStatusEnum"
          }
        }
      },
      "NERIndexingRequest" : {
        "title" : "NERIndexingRequest",
        "required" : [ "adc", "bot" ],
        "properties" : {
          "status" : {
            "title" : "Status",
            "items" : {
              "$ref" : "#/components/schemas/NERIndexingAttributeStatus"
            },
            "default" : [ ]
          },
          "bot" : {
            "title" : "Bot",
            "additionalProperties" : true
          },
          "adc" : {
            "title" : "Adc",
            "additionalProperties" : true
          }
        }
      },
      "NERIndexingResponse" : {
        "title" : "NERIndexingResponse",
        "required" : [ "status" ],
        "properties" : {
          "status" : {
            "title" : "Status",
            "items" : {
              "$ref" : "#/components/schemas/NERIndexingAttributeStatus"
            }
          }
        }
      },
      "NERStatusAttributeForm" : {
        "title" : "NERStatusAttributeForm",
        "required" : [ "form_id", "id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "form_id" : {
            "title" : "Form Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "NERStatusEnum" : {
        "title" : "NERStatusEnum",
        "enum" : [ 0, 1, 2, 3, 4 ]
      },
      "NERStatusRequest" : {
        "title" : "NERStatusRequest",
        "required" : [ "attributes", "bot_id" ],
        "properties" : {
          "bot_id" : {
            "title" : "Bot Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "attributes" : {
            "title" : "Attributes",
            "items" : {
              "$ref" : "#/components/schemas/NERStatusAttributeForm"
            }
          }
        }
      },
      "NERTaggerRequest" : {
        "title" : "NERTaggerRequest",
        "required" : [ "attribute_form_info" ],
        "properties" : {
          "attribute_form_info" : {
            "title" : "Attribute Form Info",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/AttributeFormInfo"
            }
          }
        }
      },
      "NERTaggerResponse" : {
        "title" : "NERTaggerResponse",
        "required" : [ "tags" ],
        "properties" : {
          "tags" : {
            "title" : "Tags",
            "additionalProperties" : { }
          }
        }
      },
      "PaletteData" : {
        "title" : "PaletteData",
        "required" : [ "colors", "id", "name" ],
        "properties" : {
          "colors" : {
            "title" : "Colors",
            "items" : { }
          },
          "id" : {
            "title" : "Id"
          },
          "name" : {
            "title" : "Name"
          }
        }
      },
      "PollNerStatusResponse" : {
        "title" : "PollNerStatusResponse",
        "required" : [ "attribute_forms" ],
        "properties" : {
          "attribute_forms" : {
            "title" : "Attribute Forms",
            "items" : {
              "$ref" : "#/components/schemas/AttributeFormNerStatus"
            }
          }
        }
      },
      "ProgressEnum" : {
        "title" : "ProgressEnum",
        "enum" : [ "ERROR", "STARTED", "NOT_FOUND", "GENERATE_REPORT", "INTERPRETATION", "PICK_COLUMN", "QUERY_CUBE", "RESPONSE_PREPARATION", "CUSTOM" ]
      },
      "PromptConversionItemRequest" : {
        "title" : "PromptConversionItemRequest",
        "required" : [ "id", "text", "type" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "minLength" : 1
          },
          "type" : {
            "$ref" : "#/components/schemas/PromptConversionType"
          },
          "text" : {
            "title" : "Text",
            "minLength" : 1
          }
        }
      },
      "PromptConversionItemResponse" : {
        "title" : "PromptConversionItemResponse",
        "required" : [ "changed", "id", "new_text", "old_text", "type" ],
        "properties" : {
          "id" : {
            "title" : "Id"
          },
          "type" : {
            "$ref" : "#/components/schemas/PromptConversionType"
          },
          "old_text" : {
            "title" : "Old Text"
          },
          "new_text" : {
            "title" : "New Text"
          },
          "changed" : {
            "title" : "Changed"
          }
        }
      },
      "PromptConversionRequest" : {
        "title" : "PromptConversionRequest",
        "required" : [ "items" ],
        "properties" : {
          "items" : {
            "title" : "Items",
            "maxItems" : 50,
            "minItems" : 1,
            "items" : {
              "$ref" : "#/components/schemas/PromptConversionItemRequest"
            }
          },
          "target_model" : {
            "title" : "Target Model",
            "default" : "gpt-5.1"
          }
        }
      },
      "PromptConversionResponse" : {
        "title" : "PromptConversionResponse",
        "required" : [ "converted_count", "items", "target_model", "unchanged_count" ],
        "properties" : {
          "items" : {
            "title" : "Items",
            "items" : {
              "$ref" : "#/components/schemas/PromptConversionItemResponse"
            }
          },
          "converted_count" : {
            "title" : "Converted Count"
          },
          "unchanged_count" : {
            "title" : "Unchanged Count"
          },
          "target_model" : {
            "title" : "Target Model"
          }
        }
      },
      "PromptConversionType" : {
        "title" : "PromptConversionType",
        "enum" : [ "custom_instruction", "speaker_instruction", "deny_instruction", "column_description" ]
      },
      "PromptSuggestionList" : {
        "title" : "PromptSuggestionList",
        "required" : [ "suggestions" ],
        "properties" : {
          "suggestions" : {
            "title" : "Suggestions",
            "items" : { }
          }
        }
      },
      "Query" : {
        "title" : "Query",
        "properties" : {
          "client" : {
            "title" : "Client",
            "default" : ""
          },
          "query" : {
            "title" : "Query",
            "default" : ""
          },
          "elapsed_time" : {
            "title" : "Elapsed Time",
            "default" : 0
          },
          "request_time" : {
            "title" : "Request Time",
            "default" : ""
          },
          "error" : {
            "title" : "Error",
            "default" : ""
          }
        }
      },
      "QueryUnstructuredDataInformation-Input" : {
        "title" : "QueryUnstructuredDataInformation",
        "required" : [ "unstructured_data_list" ],
        "properties" : {
          "unstructured_data_list" : {
            "title" : "Unstructured Data List",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataInformation"
            }
          }
        }
      },
      "QueryUnstructuredDataInformation-Output" : {
        "title" : "QueryUnstructuredDataInformation",
        "required" : [ "unstructured_data_list" ],
        "properties" : {
          "unstructured_data_list" : {
            "title" : "Unstructured Data List",
            "items" : {
              "$ref" : "#/components/schemas/UnstructuredDataInformation"
            }
          }
        }
      },
      "QuestionDiagnosisRequest" : {
        "title" : "QuestionDiagnosisRequest",
        "required" : [ "user_question" ],
        "properties" : {
          "diagnostics_data" : {
            "title" : "Diagnostics Data",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "user_question" : {
            "title" : "User Question"
          },
          "default_prompt" : {
            "title" : "Default Prompt",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "QuestionDiagnosisResponse" : {
        "title" : "QuestionDiagnosisResponse",
        "required" : [ "result" ],
        "properties" : {
          "result" : {
            "title" : "Result"
          }
        }
      },
      "QuestionEntry" : {
        "title" : "QuestionEntry",
        "required" : [ "question", "required_columns" ],
        "properties" : {
          "question" : {
            "title" : "Question"
          },
          "required_columns" : {
            "title" : "Required Columns",
            "items" : { }
          }
        }
      },
      "QuestionHash" : {
        "title" : "QuestionHash",
        "required" : [ "hash" ],
        "properties" : {
          "hash" : {
            "title" : "Hash"
          }
        }
      },
      "QuotedElement" : {
        "title" : "QuotedElement",
        "required" : [ "attribute_id", "element", "form_id", "start_index" ],
        "properties" : {
          "element" : {
            "title" : "Element"
          },
          "attribute_id" : {
            "title" : "Attribute Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "form_id" : {
            "title" : "Form Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "dataset_id" : {
            "title" : "Dataset Id",
            "anyOf" : [ { }, { } ]
          },
          "start_index" : {
            "title" : "Start Index"
          }
        }
      },
      "RegenerateInterpretationRequest" : {
        "title" : "RegenerateInterpretationRequest",
        "properties" : {
          "questionGroupIds" : {
            "title" : "Questiongroupids",
            "anyOf" : [ {
              "items" : { }
            }, { } ]
          },
          "adcJson" : {
            "title" : "Adcjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "botJson" : {
            "title" : "Botjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "libraryUrl" : {
            "title" : "Libraryurl",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "RequestSuggestion" : {
        "title" : "RequestSuggestion",
        "required" : [ "bot_id", "library_url", "locale_id", "user_id" ],
        "properties" : {
          "bot_id" : {
            "title" : "Bot Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "user_id" : {
            "title" : "User Id"
          },
          "library_url" : {
            "title" : "Library Url",
            "maxLength" : 2083,
            "minLength" : 1,
            "format" : "uri"
          },
          "limit" : {
            "title" : "Limit",
            "default" : 3
          },
          "charts" : {
            "title" : "Charts",
            "anyOf" : [ {
              "items" : {
                "additionalProperties" : true
              }
            }, { } ]
          },
          "history" : {
            "title" : "History",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/app__schema__suggestions__Message"
              }
            }, { } ]
          },
          "route" : {
            "title" : "Route",
            "anyOf" : [ { }, { } ]
          },
          "locale_id" : {
            "title" : "Locale Id"
          },
          "bot_json" : {
            "title" : "Bot Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "adc_json" : {
            "title" : "Adc Json",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "usl_bot_enabled" : {
            "title" : "Usl Bot Enabled",
            "default" : false
          },
          "filter_object" : {
            "title" : "Filter Object",
            "anyOf" : [ {
              "discriminator" : {
                "propertyName" : "type",
                "mapping" : {
                  "attribute" : "#/components/schemas/SuggestionsAttributeRequestFilter",
                  "metric" : "#/components/schemas/SuggestionsMetricRequestFilter",
                  "unstructuredData" : "#/components/schemas/SuggestionsUnstructuredRequestFilter"
                }
              },
              "oneOf" : [ {
                "$ref" : "#/components/schemas/SuggestionsAttributeRequestFilter"
              }, {
                "$ref" : "#/components/schemas/SuggestionsMetricRequestFilter"
              }, {
                "$ref" : "#/components/schemas/SuggestionsUnstructuredRequestFilter"
              } ]
            }, { } ]
          },
          "feature_flags" : {
            "title" : "Feature Flags",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          }
        }
      },
      "ResponseSuggestion" : {
        "title" : "ResponseSuggestion",
        "required" : [ "bots", "suggestions" ],
        "properties" : {
          "suggestions" : {
            "title" : "Suggestions",
            "items" : { }
          },
          "bots" : {
            "title" : "Bots",
            "items" : {
              "$ref" : "#/components/schemas/BotWithProjectId"
            }
          }
        }
      },
      "SQLExchangeResponse" : {
        "title" : "SQLExchangeResponse",
        "required" : [ "sql" ],
        "properties" : {
          "sql" : {
            "title" : "Sql"
          },
          "use_usl" : {
            "title" : "Use Usl",
            "default" : false
          }
        }
      },
      "SqlValidationResponse" : {
        "title" : "SqlValidationResponse",
        "required" : [ "valid" ],
        "properties" : {
          "valid" : {
            "title" : "Valid"
          },
          "message" : {
            "title" : "Message",
            "anyOf" : [ { }, { } ]
          },
          "answer" : {
            "title" : "Answer",
            "anyOf" : [ { }, { }, { } ]
          }
        }
      },
      "SuggestionRequest" : {
        "title" : "SuggestionRequest",
        "required" : [ "dashboard_context", "history", "limit", "locale_id" ],
        "properties" : {
          "limit" : {
            "title" : "Limit"
          },
          "locale_id" : {
            "title" : "Locale Id"
          },
          "history" : {
            "title" : "History",
            "items" : {
              "$ref" : "#/components/schemas/HistoryItem"
            }
          },
          "dashboard_context" : {
            "$ref" : "#/components/schemas/DashboardCore"
          }
        },
        "description" : "The main request body for the /dashboard/suggestions endpoint."
      },
      "SuggestionsAttributeRequestFilter" : {
        "title" : "SuggestionsAttributeRequestFilter",
        "required" : [ "id", "type" ],
        "properties" : {
          "type" : {
            "title" : "Type"
          },
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "SuggestionsMetricRequestFilter" : {
        "title" : "SuggestionsMetricRequestFilter",
        "required" : [ "id", "type" ],
        "properties" : {
          "type" : {
            "title" : "Type"
          },
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "SuggestionsUnstructuredRequestFilter" : {
        "title" : "SuggestionsUnstructuredRequestFilter",
        "required" : [ "id", "type" ],
        "properties" : {
          "type" : {
            "title" : "Type"
          },
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          }
        }
      },
      "SupportedVoicesResponse" : {
        "title" : "SupportedVoicesResponse",
        "required" : [ "provider", "voices" ],
        "properties" : {
          "provider" : {
            "$ref" : "#/components/schemas/LLMProvider"
          },
          "voices" : {
            "title" : "Voices",
            "items" : {
              "$ref" : "#/components/schemas/VoiceProfile"
            }
          }
        }
      },
      "TableDescriptionRequest" : {
        "title" : "TableDescriptionRequest",
        "required" : [ "column_dtypes", "column_names", "language", "name", "primary_keys" ],
        "properties" : {
          "language" : {
            "title" : "Language"
          },
          "name" : {
            "title" : "Name"
          },
          "column_names" : {
            "title" : "Column Names",
            "items" : { }
          },
          "column_dtypes" : {
            "title" : "Column Dtypes",
            "items" : { }
          },
          "primary_keys" : {
            "title" : "Primary Keys",
            "items" : { }
          }
        }
      },
      "ThemeColors" : {
        "title" : "ThemeColors",
        "required" : [ "backgroundColor", "mainColor", "shadowColor", "textColor" ],
        "properties" : {
          "mainColor" : {
            "title" : "Maincolor",
            "description" : "Primary color in HEX format"
          },
          "textColor" : {
            "title" : "Textcolor",
            "description" : "Secondary color in HEX format"
          },
          "backgroundColor" : {
            "title" : "Backgroundcolor",
            "description" : "Background color in HEX format"
          },
          "shadowColor" : {
            "title" : "Shadowcolor",
            "description" : "Shadow color in HEX format"
          }
        },
        "description" : "Theme colors for visualizations."
      },
      "TrainerProgressEnum" : {
        "title" : "TrainerProgressEnum",
        "enum" : [ "ABORTED", "STARTED", "NOT_STARTED", "IN_PROGRESS", "COMPLETED", "ERROR", "NOT_FOUND" ]
      },
      "TrainerProgressStep" : {
        "title" : "TrainerProgressStep",
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/TrainerProgressEnum"
          },
          "iteration" : {
            "title" : "Iteration",
            "default" : 0
          },
          "total_iterations" : {
            "title" : "Total Iterations",
            "default" : 5
          },
          "curr_iter_missed_columns" : {
            "title" : "Curr Iter Missed Columns",
            "items" : { },
            "default" : [ ]
          },
          "curr_column_ids" : {
            "title" : "Curr Column Ids",
            "items" : { },
            "default" : [ ]
          },
          "tuned_desc" : {
            "title" : "Tuned Desc",
            "items" : {
              "$ref" : "#/components/schemas/TrainerStatus"
            },
            "default" : [ ]
          }
        }
      },
      "TrainerStatus" : {
        "title" : "TrainerStatus",
        "required" : [ "column", "orig_desc", "updated_desc" ],
        "properties" : {
          "column" : {
            "title" : "Column"
          },
          "orig_desc" : {
            "title" : "Orig Desc"
          },
          "updated_desc" : {
            "title" : "Updated Desc"
          },
          "reason" : {
            "title" : "Reason",
            "default" : ""
          }
        }
      },
      "TrainingJobRequest" : {
        "title" : "TrainingJobRequest",
        "required" : [ "adc_json", "bot_json", "library_url", "num_of_iterations", "user_id" ],
        "properties" : {
          "user_id" : {
            "title" : "User Id"
          },
          "library_url" : {
            "title" : "Library Url",
            "maxLength" : 2083,
            "minLength" : 1,
            "format" : "uri"
          },
          "num_of_iterations" : {
            "title" : "Num Of Iterations"
          },
          "bot_json" : {
            "title" : "Bot Json",
            "additionalProperties" : true
          },
          "adc_json" : {
            "title" : "Adc Json",
            "additionalProperties" : true
          }
        }
      },
      "TrainingSetRequest" : {
        "title" : "TrainingSetRequest",
        "required" : [ "additional_info", "library_url", "train_entries", "user_id" ],
        "properties" : {
          "user_id" : {
            "title" : "User Id"
          },
          "library_url" : {
            "title" : "Library Url",
            "maxLength" : 2083,
            "minLength" : 1,
            "format" : "uri"
          },
          "train_entries" : {
            "title" : "Train Entries",
            "items" : {
              "$ref" : "#/components/schemas/QuestionEntry"
            }
          },
          "additional_info" : {
            "title" : "Additional Info"
          }
        }
      },
      "TrainingSetResponse" : {
        "title" : "TrainingSetResponse",
        "properties" : {
          "additional_info" : {
            "title" : "Additional Info",
            "default" : ""
          },
          "train_entries" : {
            "title" : "Train Entries",
            "items" : {
              "$ref" : "#/components/schemas/QuestionEntry"
            },
            "default" : [ ]
          }
        }
      },
      "UnstructuredDataExtraInfo" : {
        "title" : "UnstructuredDataExtraInfo",
        "required" : [ "chunk_size", "long_summary", "summary" ],
        "properties" : {
          "summary" : {
            "title" : "Summary",
            "anyOf" : [ { }, { } ]
          },
          "long_summary" : {
            "title" : "Long Summary",
            "anyOf" : [ { }, { } ]
          },
          "chunk_size" : {
            "title" : "Chunk Size",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "UnstructuredDataInformation" : {
        "title" : "UnstructuredDataInformation",
        "required" : [ "id", "project_id" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "project_id" : {
            "title" : "Project Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "status" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/IngestStatusEnum"
            }, { } ]
          },
          "extra_info" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/UnstructuredDataExtraInfo"
            }, { } ]
          }
        }
      },
      "UnstructuredDataset" : {
        "title" : "UnstructuredDataset",
        "required" : [ "id", "name", "status" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "status" : {
            "title" : "Status"
          }
        }
      },
      "UpdateBotRequest" : {
        "title" : "UpdateBotRequest",
        "properties" : {
          "columns" : {
            "anyOf" : [ {
              "$ref" : "#/components/schemas/ColumnsPatchRequest"
            }, { } ]
          },
          "datasets" : {
            "title" : "Datasets",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/IdDescriptionRequest"
              }
            }, { } ],
            "default" : [ ]
          },
          "name" : {
            "title" : "Name",
            "anyOf" : [ { }, { } ]
          },
          "locale" : {
            "title" : "Locale",
            "default" : "1033"
          },
          "version_id" : {
            "title" : "Version Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            }, { } ]
          },
          "library_url" : {
            "title" : "Library Url",
            "anyOf" : [ {
              "maxLength" : 2083,
              "minLength" : 1,
              "format" : "uri"
            }, { } ]
          },
          "description" : {
            "title" : "Description",
            "anyOf" : [ { }, { } ]
          },
          "sqler_custom_instructions" : {
            "title" : "Sqler Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "speaker_custom_instructions" : {
            "title" : "Speaker Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "interpreter_custom_instructions" : {
            "title" : "Interpreter Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "denied_answer_custom_instructions" : {
            "title" : "Denied Answer Custom Instructions",
            "anyOf" : [ { }, { } ]
          },
          "add_adcs" : {
            "title" : "Add Adcs",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/ADCIdsGroup"
              }
            }, { } ]
          },
          "remove_adcs" : {
            "title" : "Remove Adcs",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/ADCIdsGroup"
              }
            }, { } ]
          },
          "add_bots" : {
            "title" : "Add Bots",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/BotID"
              }
            }, { } ]
          },
          "remove_bots" : {
            "title" : "Remove Bots",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/BotID"
              }
            }, { } ]
          },
          "sub_bot_descriptions" : {
            "title" : "Sub Bot Descriptions",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/BotIDDescription"
              }
            }, { } ]
          },
          "temperature_attribute_picker" : {
            "title" : "Temperature Attribute Picker"
          },
          "temperature_metric_picker" : {
            "title" : "Temperature Metric Picker"
          },
          "temperature_speaker" : {
            "title" : "Temperature Speaker"
          }
        }
      },
      "UpdateColumnSchema" : {
        "title" : "UpdateColumnSchema",
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ { }, { } ]
          },
          "attributeId" : {
            "title" : "Attributeid",
            "anyOf" : [ { }, { } ]
          },
          "datasetId" : {
            "title" : "Datasetid",
            "anyOf" : [ { }, { } ]
          },
          "name" : {
            "title" : "Name",
            "anyOf" : [ { }, { } ]
          }
        }
      },
      "UpdateQuestionGroupRequest" : {
        "title" : "UpdateQuestionGroupRequest",
        "properties" : {
          "operationList" : {
            "title" : "Operationlist",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/UpdateQuestionGroupRequestContent"
              }
            }, { } ]
          },
          "libraryUrl" : {
            "title" : "Libraryurl",
            "anyOf" : [ { }, { } ]
          },
          "botJson" : {
            "title" : "Botjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "adcJson" : {
            "title" : "Adcjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          }
        }
      },
      "UpdateQuestionGroupRequestContent" : {
        "title" : "UpdateQuestionGroupRequestContent",
        "required" : [ "op", "path" ],
        "properties" : {
          "op" : {
            "title" : "Op",
            "enum" : [ "add", "remove", "replace", "merge" ]
          },
          "path" : {
            "title" : "Path",
            "enum" : [ "/questions", "/isPinned", "/sql", "/columns" ]
          },
          "value" : {
            "title" : "Value",
            "anyOf" : [ {
              "items" : {
                "$ref" : "#/components/schemas/UpdateQuestionId"
              }
            }, { }, { }, {
              "items" : {
                "$ref" : "#/components/schemas/QuestionHash"
              }
            }, {
              "items" : {
                "$ref" : "#/components/schemas/UpdateColumnSchema"
              }
            }, { } ]
          }
        }
      },
      "UpdateQuestionId" : {
        "title" : "UpdateQuestionId",
        "required" : [ "questionId" ],
        "properties" : {
          "questionId" : {
            "title" : "Questionid"
          }
        }
      },
      "UserLocation" : {
        "title" : "UserLocation",
        "required" : [ "latitude", "longitude" ],
        "properties" : {
          "latitude" : {
            "title" : "Latitude"
          },
          "longitude" : {
            "title" : "Longitude"
          },
          "accuracy" : {
            "title" : "Accuracy",
            "anyOf" : [ { }, { } ]
          }
        },
        "description" : "User's geographical location from browser geolocation API."
      },
      "ValidateSqlRequest" : {
        "title" : "ValidateSqlRequest",
        "required" : [ "sql" ],
        "properties" : {
          "sql" : {
            "title" : "Sql"
          },
          "libraryUrl" : {
            "title" : "Libraryurl",
            "anyOf" : [ { }, { } ]
          },
          "botJson" : {
            "title" : "Botjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          },
          "adcJson" : {
            "title" : "Adcjson",
            "anyOf" : [ {
              "additionalProperties" : true
            }, { } ]
          }
        }
      },
      "VectorSearchFileResultRow" : {
        "title" : "VectorSearchFileResultRow",
        "required" : [ "id", "name", "page_numbers" ],
        "properties" : {
          "id" : {
            "title" : "Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            } ]
          },
          "name" : {
            "title" : "Name"
          },
          "page_numbers" : {
            "title" : "Page Numbers",
            "items" : { }
          },
          "bot_id" : {
            "title" : "Bot Id",
            "anyOf" : [ {
              "pattern" : "^[0-9A-F]{32}$"
            }, {
              "format" : "uuid"
            }, { } ]
          }
        }
      },
      "VoiceProfile" : {
        "title" : "VoiceProfile",
        "required" : [ "name", "sample_text", "style_description" ],
        "properties" : {
          "name" : {
            "title" : "Name"
          },
          "style_description" : {
            "title" : "Style Description"
          },
          "sample_text" : {
            "title" : "Sample Text"
          }
        }
      },
      "app__schema__suggestions__Message" : {
        "title" : "Message",
        "required" : [ "content", "role" ],
        "properties" : {
          "role" : {
            "title" : "Role",
            "enum" : [ "system", "user", "assistant" ]
          },
          "content" : {
            "title" : "Content"
          }
        }
      }
    },
    "responses" : {
      "ms-BadRequest" : {
        "description" : "The request is malformed or invalid in some manner.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-StructErrors"
            }
          }
        }
      },
      "ms-InternalError" : {
        "description" : "The request resulted in an internal Modeling service error.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-StructErrors"
            }
          }
        }
      },
      "ms-ResourceNotFound" : {
        "description" : "The requested resource cannot be found.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-StructErrors"
            }
          }
        }
      },
      "ms-TableOperationError" : {
        "description" : "The request resulted in an internal Modeling Service error.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-TableError"
            }
          }
        }
      },
      "ms-Unauthorized" : {
        "description" : "The request requires authentication. The user is not authenticated or the authentication token is invalid.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-StructErrors"
            }
          }
        }
      },
      "ms-Forbidden" : {
        "description" : "The request is forbidden. The user does not have permission to access this resource.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ms-StructErrors"
            }
          }
        }
      },
      "Accepted202" : {
        "description" : "accepted",
        "content" : {
          "application/json" : {
            "schema" : {
              "type" : "object"
            }
          }
        }
      },
      "BadRequest400" : {
        "description" : "bad request",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "Created201" : {
        "description" : "created",
        "content" : {
          "application/json" : {
            "schema" : {
              "type" : "object"
            }
          }
        }
      },
      "Forbidden403" : {
        "description" : "forbidden",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "InternalServerError500" : {
        "description" : "internal server error",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "NoContent204" : {
        "description" : "no content",
        "content" : { }
      },
      "NotFound404" : {
        "description" : "not found",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      },
      "Success200" : {
        "description" : "successful operation",
        "content" : {
          "application/json" : {
            "schema" : {
              "type" : "object"
            }
          }
        }
      },
      "Unauthorized401" : {
        "description" : "unauthorized",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "parameters" : {
      "ms-ChangesetIdInPath" : {
        "name" : "changesetId",
        "in" : "path",
        "description" : "Changeset ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-ShowAdvancedPropertiesForCube" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ShowFilterTokensForCube" : {
        "name" : "showFilterTokens",
        "in" : "query",
        "description" : "Specify whether the cube \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe cube filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ExpressionRepresentation" : {
        "name" : "showExpressionAs",
        "in" : "query",
        "description" : "This parameter specifies the format in which the expressions are returned in response. \n\nThis parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. \n\nExpressions are presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing the expression.\n  This is the default format that is always returned in the response.\n* \"tree\": A tree data structure fully defining the expression.\n  This format can be used if you want to examine and modify the expression programmatically.\n* \"tokens\": A list of parsed tokens. \n  This format can be used if you want to examine and modify the expression using the parser component.\n  Note that generating tokens requires additional time.\n  \n  Tokens are a semi-structured representation of MicroStrategy expression text that includes object references.\nFor example, let’s say a filter expression is \"Revenue > Cost\". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (\"Revenue\", Revenue_ID), (\">\", GreaterThan_ID), (\"Cost\", Cost_ID).\n\nIf omitted, the expression is returned in \"text\" format.\n\nIf `tree`, the expression is returned in \"text\" and \"tree\" formats.\n\nIf `tokens`, the expression is returned in \"text\" and \"tokens\" formats.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "array",
          "items" : {
            "type" : "string",
            "enum" : [ "tokens", "tree" ]
          }
        }
      },
      "ms-CubeTemplateId" : {
        "name" : "cubeTemplateId",
        "in" : "query",
        "description" : "This parameter specifies a cube object that will be used as a template for new cube creation. The new cube will inherit the defintion of this cube, and can be overwritten through request body of POST /model/cubes.  \n\nIf ommitted, the new cube will be created based on a blank cube. \n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-CubeId" : {
        "name" : "cubeId",
        "in" : "path",
        "description" : "Cube ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowSqlPreview" : {
        "name" : "showSqlPreview",
        "in" : "query",
        "description" : "Boolean value used to determine whether to show dynamic SQL preview or not.\nSet to true by default.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ShowAdvancedPropertiesForIncrementalRefreshReport" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ShowFilterTokensForIncrementalRefreshReport" : {
        "name" : "showFilterTokens",
        "in" : "query",
        "description" : "Specify whether the incremental refresh report \"filter\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe incremental refresh report filter is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-IncrementalRefreshReportId" : {
        "name" : "incrementalRefreshReportId",
        "in" : "path",
        "description" : "Incremental Refresh Report ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ChangesetIdOptional" : {
        "name" : "X-MSTR-MS-Changeset",
        "in" : "header",
        "description" : "Changeset ID\n",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-ShowAdvancedPropertiesForAttribute" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-Fields" : {
        "name" : "fields",
        "in" : "query",
        "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, expressions”, only “information” and “expressions” are returned. Other top-level fields are omitted.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-ShowFields" : {
        "name" : "showFields",
        "in" : "query",
        "description" : "Specify what additional information is returned.\nOnly \"acl\" is supported.\n\n* If `acl`, the access control list for each object is included.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "enum" : [ "acl" ]
        }
      },
      "ms-ShowPotentialTables" : {
        "name" : "showPotentialTables",
        "in" : "query",
        "description" : "This parameter specifies whether to return the potential tables that the expressions can be applied to.   \n\nIf `true`, the \"potentialTables\" field returns for each fact/attribute expression, in the form of a list of tables. \n\nIf `false` or omitted, the \"potentialTables\" field is omitted.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ChangesetId" : {
        "name" : "X-MSTR-MS-Changeset",
        "in" : "header",
        "description" : "Changeset ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-AttributeId" : {
        "name" : "attributeId",
        "in" : "path",
        "description" : "Attribute ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-RemoveInvalidFields" : {
        "name" : "removeInvalidFields",
        "in" : "query",
        "description" : "This parameter specifies whether to check and remove the invalid fields caused by changes related to key form within the request. \n\nChanges related to key form could introduce invalid expressions for non-key forms as expression's table is empty, and/or invalid relationship as the relationship table is null. \n\nIf `true`, if the key form changes in the request introduce invalid expressions and/or relationships, \nthe invalid expressions and/or relationships are removed from the attribute and/or the system hierarchy.\n\nIf `false` or omitted, it errors out if the key form changes in the request introduce invalid expressions and/or relationships.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-LockType" : {
        "name" : "lockType",
        "in" : "query",
        "description" : "Lock type:\n* \"absolute_individual\": When placed, no one, including the administrator, can perform changes on the schema objects. \n* \"exclusive_constituent\": When the changeset is created with \"schemaEdit\" = `true`, an \"exclusive_constituent\" lock is placed.  It is a lock exclusive to the changeset holding the lock; only that changeset can change the schema or its constituents (tables, attributes, etc.).\n* \"absolute_constituent: Not in use.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/ms-EnumLockType"
        }
      },
      "ms-PreferHeader" : {
        "name" : "Prefer",
        "in" : "header",
        "description" : "Set to `respond-async` to execute this API asynchronously. \n",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-TaskIdInPath" : {
        "name" : "taskId",
        "in" : "path",
        "description" : "Task ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-FactId" : {
        "name" : "factId",
        "in" : "path",
        "description" : "Fact ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-TableFields" : {
        "name" : "fields",
        "in" : "query",
        "description" : "A comma-separated, top-level field whitelist that allows the client to selectively retrieve part of the response model.\nBy default, all fields are returned. If specified, extra filtering is applied, and for the top-level object (if the root model is an array, each array element),\nonly the listed fields are kept in the response. For example, \"information,logicalSize\" keeps only the \"information\" and \"logicalSize\" fields, omitting all other fields in the top-level response model.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-CollectionOffset" : {
        "name" : "offset",
        "in" : "query",
        "description" : "Use this parameter to page through large result lists. Setting it to `0` (or not providing the parameter) starts at the beginning of the object list.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "integer"
        }
      },
      "ms-CollectionLimit" : {
        "name" : "limit",
        "in" : "query",
        "description" : "The maximum number of objects that can be returned by this method.\n\nIf this property is not provided, all available objects are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "integer"
        }
      },
      "ms-ShowFilterTokens" : {
        "name" : "showFilterTokens",
        "in" : "query",
        "description" : "Specify whether \"qualification\" is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nA filter's \"qualification\" is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a filter's qualification.\n* \"tree\": A tree data structure fully defining the filter's qualification.\n* \"tokens\": A list of parsed tokens that define a filter's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-tablePrefixOption" : {
        "name" : "tablePrefixOption",
        "in" : "query",
        "description" : "The following options define the table prefix:\n  - none: do not set table prefix.\n  - add_default_prefix: this option applies the default prefix setting on warehouse catalog.\n  - add_namespace: create a prefix same with namespace.\n\nThis param has no effect on a free form SQL table.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "enum" : [ "none", "add_default_prefix", "add_namespace" ]
        }
      },
      "ms-columnMergeOption" : {
        "name" : "columnMergeOption",
        "in" : "query",
        "description" : "Defines a column merge option. For example, say a project includes a table named Table1 and a column named C1 whose data type is char(1). You add Table2, which has a C1 column with char(4).\nTo be consistent, columns' data types are modified in following ways:\n\n* reuse_any: Updates the column data type to use the most recent column definition. In the example above, the column data type for C1 is changed to char(4) since Table2 was added after Table1.\n* reuse_compatible_data_type: Updates the column data type to use the data type with the largest precision or scale. In the example above, the column data type for C1 is changed to char(4), as defined in Table2.\n* reuse_matched_data_type: Renames the column in newly added table to allow it to have different data types. In the example above, column C1 uses char(1) for Table1. Column C1 in Table2 is defined as a separate\ncopy of C1 and uses char(4). This option can cause unwanted schema changes and should be used only when necessary.\n\nIf this value is not set, use the option that set on DBRole catalog setting.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "enum" : [ "reuse_any", "reuse_compatible_data_type", "reuse_matched_data_type" ]
        }
      },
      "ms-checkSecondaryDataSourceTable" : {
        "name" : "checkSecondaryDataSourceTable",
        "in" : "query",
        "description" : "If set to true, the API finds compatible tables in the project. If a compatible table is found, the compatible table object information is returned.\nThe caller can call PATCH /model/tables/{tableID}/ to set a secondaryDatasources for the compatible table. If no table is found, a new table is created.\n\nIf set to false, a new table is created.\n\nThis parameter has no effect on creating a freeform SQL table.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-TableId" : {
        "name" : "tableId",
        "in" : "path",
        "description" : "Table ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ignoreTablePrefix" : {
        "name" : "ignoreTablePrefix",
        "in" : "query",
        "description" : "If true, get all tables under current DB. There are three following situations:\n* If there is only one table that has same name as updated table, update table structure using this table.\n* If there is no table that has same name as updated table, throw error.\n* If there are multiple tables has same name as updated table, throw error.\n\nIf false, remain the current behavior.\n\nIf not set, get the setting value from warehouse catalog. This behavior is same as column merge options.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-PostTableId" : {
        "name" : "tableId",
        "in" : "path",
        "description" : "An identifier for the _logical table object_ that the client wishes to invoke.\nThe model service does not distinguish between logical and physical tables.\nA physical table is accessed as part of a logical table based on the physical table field.\n\nThere are three possible sources for a table id:\n* The id could be the _object id_ already used within the metadata to identify the logical table.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed logical table that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new table by the client.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-PromptId" : {
        "name" : "promptId",
        "in" : "path",
        "description" : "Prompt ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-FilterId" : {
        "name" : "filterId",
        "in" : "path",
        "description" : "Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowAdvancedPropertiesNonReportObject" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n        \nIf omitted or `false`, the API will not return advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-CustomGroupId" : {
        "name" : "customGroupId",
        "in" : "path",
        "description" : "Custom Group ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DrillMapId" : {
        "name" : "drillMapId",
        "in" : "path",
        "description" : "Drill Map ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowResolved" : {
        "name" : "showResolved",
        "in" : "query",
        "description" : "Specify whether return resolved security filter for the system prompt security filter.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-SecurityFilterId" : {
        "name" : "securityFilterId",
        "in" : "path",
        "description" : "Security Filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DerivedElementId" : {
        "name" : "derivedElementId",
        "in" : "path",
        "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ProjectId" : {
        "name" : "projectId",
        "in" : "path",
        "description" : "Project ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DatasourceId" : {
        "name" : "datasourceId",
        "in" : "path",
        "description" : "Datasource ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ConsolidationId" : {
        "name" : "consolidationId",
        "in" : "path",
        "description" : "Consolidation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-HierarchyId" : {
        "name" : "hierarchyId",
        "in" : "path",
        "description" : "Hierarchy ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowMetricTokens" : {
        "name" : "showFilterTokens",
        "in" : "query",
        "description" : "Specify whether the \"condition\" in threshold is returned in \"tokens\" format, along with \"text\" and \"tree\" formats.\n\nThe \"condition\" in threshold is presented in the following formats:\n* \"text\": A human readable, but non-parsable text, describing a condition's qualification.\n* \"tree\": A tree data structure fully defining the condition's qualification.\n* \"tokens\": A list of parsed tokens that define a condition's qualification.\nBe aware that generating tokens requires additional time.\n\nIf omitted or `false`, only \"text\" and \"tree\" formats are returned.\n\nIf `true`, all \"text\", \"tree\" and \"tokens\" formats are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-MetricId" : {
        "name" : "metricId",
        "in" : "path",
        "description" : "Metric ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-SubtotalId" : {
        "name" : "subtotalId",
        "in" : "path",
        "description" : "Subtotal ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-FormulaId" : {
        "name" : "formulaId",
        "in" : "path",
        "description" : "Base formula ID\n\nThe ID can be:\n* the object ID used in the metadata.\n* the object ID used in the changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-TransformationId" : {
        "name" : "transformationId",
        "in" : "path",
        "description" : "Transformation ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-TimezoneId" : {
        "name" : "timezoneId",
        "in" : "path",
        "description" : "Timezone ID\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-CalendarFields" : {
        "name" : "fields",
        "in" : "query",
        "description" : "A whitelist of top-level fields separated by commas.  \n\nThis parameter allows the client to selectively retrieve fields in the response.\n\nOnce specified, only the listed fields are returned in the response. For example, if this parameter is set as “information, baseCalendar”, only “information” and “baseCalendar” are returned. Other top-level fields are omitted.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-CalendarId" : {
        "name" : "calendarId",
        "in" : "path",
        "description" : "Calendar ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowAdvancedPropertiesForReport" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\n\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"drillOptions\": A list of properties related to the report drilling setting.\n* \"useDefaultEvaluationOrder\": A property decide the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\n\nIf omitted or `false`, nothing will be returned for the advanced properties.\n\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ReportId" : {
        "name" : "reportId",
        "in" : "path",
        "description" : "Report ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ReportInstanceIdOptional" : {
        "name" : "X-MSTR-MS-Instance",
        "in" : "header",
        "description" : "Report instance ID\n",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-ExecutionStage" : {
        "name" : "executionStage",
        "in" : "query",
        "description" : "This parameter specifies the execution stage the report is executed to. \nAvailable values: resolve_prompts, execute_data, no_action.\n\nIf omitted, it is \"no_action\".\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "enum" : [ "resolve_prompts", "execute_data", "no_action" ]
        }
      },
      "ms-ReportInstanceId" : {
        "name" : "X-MSTR-MS-Instance",
        "in" : "header",
        "description" : "Report instance ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-DerivedElementIdInReport" : {
        "name" : "derivedElementId",
        "in" : "path",
        "description" : "Derived Element ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in report instance, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowAdvancedPropertiesForDatamart" : {
        "name" : "showAdvancedProperties",
        "in" : "query",
        "description" : "Specify whether to retrieve the values of the advanced properties.\nThe advanced properties are presented in the following groups:\n* \"vldbProperties\": A list of properties as determined by the common infrastructure.\n* \"metricJoinTypes\": A list of Metric Join Types, one for each metric that appears in the template.\n* \"attributeJoinTypes\": A list of Attribute Join Types, one for each attribute that appears in the template.\n* \"useDefaultEvaluationOrder\": A property that determines the evaluation ordering.\n* \"promptOrdering\": A list of prompts in the same resolve sequence when executing the report.\nIf omitted or `false`, nothing is returned for the advanced properties.\nIf `true`, all applicable advanced properties are returned.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-SourceReportId" : {
        "name" : "sourceReportId",
        "in" : "query",
        "description" : "This parameter specifies whether you want to create the datamart definition based on a source report or from scratch.\n\n* If it is provided, the datamart definition is created based on the provided source report. Only \"information\" and \"datamartOptions\" in the datamart definition are needed in the request body. Other fields are ignored if provided\n* If it is not provided, the datamart definition is created from scratch. \"information\", \"sourceType\", \"dataSource\", and \"datamartOptions\" are required in the request body.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DatamartId" : {
        "name" : "datamartId",
        "in" : "path",
        "description" : "Datamart ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DatamartInstanceId" : {
        "name" : "X-MSTR-MS-Instance",
        "in" : "header",
        "description" : "Datamart instance ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-OverwriteForDatamart" : {
        "name" : "overwrite",
        "in" : "query",
        "description" : "Use this flag to overwrite an existing datamart through an in-memory instance. \n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-TransactionReportId" : {
        "name" : "transactionReportId",
        "in" : "path",
        "description" : "Transaction Report ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DataModelId" : {
        "name" : "dataModelId",
        "in" : "path",
        "description" : "Data Model ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-DataModelFolderId" : {
        "name" : "folderId",
        "in" : "path",
        "description" : "Data Model Folder ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowRelationshipCandidates" : {
        "name" : "showRelationshipCandidates",
        "in" : "query",
        "description" : "Boolean value used to determine whether to show relationship candidates or not.\nSet to false by default.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ShowDerivedForms" : {
        "name" : "showDerivedForms",
        "in" : "query",
        "description" : "Boolean value that determines whether to show derived forms, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Latitude and longitude data will be enriched when the data model is published.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-ShowDerivedColumns" : {
        "name" : "showDerivedColumns",
        "in" : "query",
        "description" : "Boolean value used to determine whether to show derived columns or not, false by default.\n\nIf a data model attribute form has a valid geographical role, the attribute will automatically include two derived forms: one for latitude and one for longitude. Derived columns are created and referenced by the derived latitude and longitude forms.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-EmbeddedObjectId" : {
        "name" : "embeddedObjectId",
        "in" : "path",
        "description" : "Embedded Object ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-SubType" : {
        "name" : "subType",
        "in" : "query",
        "description" : "String literal used to identify the subtype of a metadata object.",
        "required" : true,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/ms-EnumObjectSubType"
        }
      },
      "ms-ObjectId" : {
        "name" : "objectId",
        "in" : "path",
        "description" : "An identifier for an _object_ that the client wishes to invoke.\nThis parameter is used when a method could act upon more than one type of object.\nSince an object must always have a type the API will always provide some other mechanism\nto supply a type for the object.\n\nThere are three possible sources for an object id:\n* The id could be the _object id_ already used within the metadata to identify the object.\n* The id could be a optimistic _object id_ assigned by the model service to a proposed object that has not yet been saved.\n* The id could be a _client id_ selected for a proposed new object by the client.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowSubscriptionFilterCandidatesOnly" : {
        "name" : "showSubscriptionFilterCandidatesOnly",
        "in" : "query",
        "description" : "This parameter specifies whether to return only the subscription filter candidate attributes in the response.\nIf `true`, the response will include only subscription filter candidate attributes.\nIf `false` or omitted, the response will include all data model attributes.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-AllowLink" : {
        "name" : "allowLink",
        "in" : "query",
        "description" : "This parameter specifies whether to allow linking to another attribute in the same data model.\nIf `true`, linking to another attribute in the same data model is allowed.\nIf `false` or omitted, the attribute cannot be linked to another attribute in the same data model.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean"
        }
      },
      "ms-FactMetricId" : {
        "name" : "factMetricId",
        "in" : "path",
        "description" : "Fact Metric ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ExternalDataModelId" : {
        "name" : "externalDataModelId",
        "in" : "path",
        "description" : "External Data Model ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ExternalDataModelObjectId" : {
        "name" : "externalDataModelObjectId",
        "in" : "path",
        "description" : "External Data Model Object ID\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-WorkspaceId" : {
        "name" : "workspaceId",
        "in" : "path",
        "description" : "The unique identifier of the workspace in the data server",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-PipelineId" : {
        "name" : "pipelineId",
        "in" : "path",
        "description" : "The unique identifier of the pipeline",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ShowRawData" : {
        "name" : "showRawData",
        "in" : "query",
        "description" : "Whether to include raw data in the response",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean",
          "default" : false
        }
      },
      "ms-ShowPreviewData" : {
        "name" : "showPreviewData",
        "in" : "query",
        "description" : "Whether to include preview data in the response",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean",
          "default" : false
        }
      },
      "ms-DataServerTableId" : {
        "name" : "tableId",
        "in" : "path",
        "description" : "The unique identifier of the table in the data server",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-ScopeFilterId" : {
        "name" : "scopeFilterId",
        "in" : "path",
        "description" : "Scope filter ID\n\nThe ID can be:\n* the object ID used in metadata.\n* the object ID used in changeset, but not yet committed to metadata.\n",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "$ref" : "#/components/schemas/ms-TypeObjectId"
        }
      },
      "ms-X-MSTR-ProjectID" : {
        "name" : "X-MSTR-ProjectID",
        "in" : "header",
        "description" : "Project ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-X-MSTR-ProjectIDOptional" : {
        "name" : "X-MSTR-ProjectID",
        "in" : "header",
        "description" : "Project ID",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "ms-X-MSTR-AuthToken" : {
        "name" : "X-MSTR-AuthToken",
        "in" : "header",
        "description" : "Authorization Token",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "X-MSTR-AuthToken" : {
        "name" : "X-MSTR-AuthToken",
        "in" : "header",
        "description" : "Authorization Token",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "X-MSTR-ProjectID" : {
        "name" : "X-MSTR-ProjectID",
        "in" : "header",
        "description" : "MicroStrategy Project ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "cubeId" : {
        "name" : "cubeId",
        "in" : "path",
        "description" : "Cube ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "documentId" : {
        "name" : "documentId",
        "in" : "path",
        "description" : "Document ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "instanceId" : {
        "name" : "instanceId",
        "in" : "path",
        "description" : "Document Instance ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "jobId" : {
        "name" : "jobId",
        "in" : "path",
        "description" : "Job ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "mdxDataSourceId" : {
        "name" : "mdxDataSourceId",
        "in" : "path",
        "description" : "Database role ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "X-MSTR-Date" : {
        "name" : "X-MSTR-Date",
        "in" : "header",
        "description" : "Date in Unix Epoch time",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "Authorization" : {
        "name" : "Authorization",
        "in" : "header",
        "description" : "HMAC authorization token",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "AIServiceHeaders" : {
        "name" : "x-mstr-ai-apibaseurl",
        "in" : "header",
        "description" : "The baseurl of ai service",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "AIServiceApiKey" : {
        "name" : "x-mstr-ai-apikey",
        "in" : "header",
        "description" : "The apikey of ai service",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "AIServiceVendor" : {
        "name" : "x-mstr-ai-vendor",
        "in" : "header",
        "description" : "The vendor of ai service",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "AIServiceApiVersion" : {
        "name" : "x-mstr-ai-apiversion",
        "in" : "header",
        "description" : "The ai version of model",
        "required" : false,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      },
      "AIServiceModel" : {
        "name" : "x-mstr-ai-model",
        "in" : "header",
        "description" : "Name of model",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : { }
      }
    },
    "securitySchemes" : {
      "SCIM Bearer Token" : {
        "type" : "http",
        "description" : "The SCIM 2.0 API requires a Bearer token for authentication. Generate the token from SCIM config and enter it here.",
        "scheme" : "bearer",
        "bearerFormat" : "opaque"
      }
    }
  }
}