{
    "openapi": "3.1.0",
    "info": {
        "title": "MindBridge API",
        "description": "The MindBridge API is an HTTP REST API that provides access to MindBridge entities and processes. Request and response bodies are\ngenerally JSON formatted, with some exceptions.\n\n## Endpoint model\n\nEndpoints are structured in a standard way:\n\n### Create\n\n`POST /{entityName}` - Creates an entity with the properties specified in the request body.\n\n### Read\n\n`GET /{entityName}/{entityId}` – Reads the entity identified by the ID.\n\n### Update\n\n`PUT /{entityName}/{entityId}` – Updates the entity identified by the ID with the content of the request body.\n\nEvery time an entity is saved, the `version` property is incremented. To prevent multiple calls from overwriting each other's changes,\nthe `version` property in the updated request body must match the latest version on MindBridge's servers.\n\n### Delete\n\n`DELETE /{entityName}/{entityId}` – Deletes the entity identified by the ID.\n\n### Query\n\n`POST /{entityName}/query` – Performs a paged query of the entity collection.\n\n## Entity model\n\nAll endpoint requests and responses for a given entity use the same model structure, with some fields being either read-only or editable\ndepending on the method. If a property is not editable for the endpoint in question, it will be ignored.\n\nFor example, if the following organization entity body is used with the `Create Organization` endpoint, then the `id` property will be\nignored and a new organization will be created with a new id and \"New organization\" as the name.\n\n```json\n{\n  \"id\": \"4b8360d00000000000000001\",\n  \"name\": \"New organization\"\n}\n```\n\nUsing this approach, an entity can be created or updated using the same model read from a read entity call, as read-only fields will not be\noverwritten by changes made to the _create_ or _update_ body.\n\nIf a property that is not present on the model is included in a create or update request, then the request body will be considered invalid\nand an error will be returned.\n\n## MindBridge Query Language\n\n### Overview\n\nMindBridge Query Language (QL) is the standard unified query language used to interact with all the underlying data tables and\ncollections within MindBridge. This query language has been extended to the MindBridge API, which uses this syntax for all `/query`\nendpoints within the API, as well as several other endpoints.\n\n### Syntax\n\nThe query is expressed as a JSON object. The example below looks for values equal to 10000 in the `credit` column.\n\n```json\n{\n  \"credit\": {\n    \"$eq\": 10000\n  }\n}\n```\n\nAbove, `$eq` is the equality operator. Other operators are listed below. As a shortcut for equality, you can specify the value directly.\n\n```json\n{\n  \"credit\": 10000\n}\n```\n\nIn order to conform to the syntax of a valid JSON object, all operators and fields must be enclosed in quotes. For more details on the\nJSON language, refer to [json.org](https://json.org).\n\nLogical `AND` and `OR` conditions are available. If you want to specify two columns, the conditions can be combined with `$and`.\n\n```json\n{\n  \"$and\": [\n    {\n      \"account\": {\n        \"$eq\": \"1023345\"\n      }\n    },\n    {\n      \"risk\": {\n        \"$gte\": 5000\n      }\n    }\n  ]\n}\n```\n\n#### Simplified Syntax\n\nThe example `$and` query above can be simplified using the syntax seen below.\n\n```json\n{\n  \"account\": {\n    \"$eq\": \"1023345\"\n  },\n  \"risk\": {\n    \"$gte\": 5000\n  }\n}\n```\n\nYou can combine `$or` and `$and` to build up a more complex structure, such as the one seen below, which combines all the techniques\nseen so far.\n\n```json\n{\n  \"risk\": {\n    \"$gte\": 5000,\n    \"$lt\": 7000\n  },\n  \"$or\": [\n    {\n      \"transaction\": {\n        \"$iprefix\": \"ABC1\"\n      }\n    },\n    {\n      \"transaction\": {\n        \"$iprefix\": \"ABC2\"\n      }\n    }\n  ],\n  \"$and\": [\n    {\n      \"source\": {\n        \"$ne\": \"MA\"\n      }\n    },\n    {\n      \"source\": {\n        \"$iprefix\": \"M\"\n      }\n    }\n  ]\n}\n```\n\nYou can use two operators on the same column at the same time:\n\n```json\n{\n  \"credit\": {\n    \"$gte\": 1000,\n    \"$lt\": 10000\n  }\n}\n```\n\n#### Unique Names\n\nEvery field in a JSON object or sub-object must be **unique**. The following is not valid because `source` appears twice at the top level.\n\n```json\n{\n  \"source\": {\n    \"$ne\": \"MA\"\n  },\n  \"source\": {\n    \"$ne\": \"MB\"\n  }\n}\n```\n\nInstead, wrap it in `$and`:\n\n```json\n{\n  \"$and\": [\n    {\n      \"source\": {\n        \"$ne\": \"MA\"\n      }\n    },\n    {\n      \"source\": {\n        \"$ne\": \"MB\"\n      }\n    }\n  ]\n}\n```\n\nOr use another operator like `$nin`:\n\n```json\n{\n  \"source\": {\n    \"$nin\": [\n      \"MA\",\n      \"MB\"\n    ]\n  }\n}\n```\n\nYou can use two operators on the same column at the same time:\n\n```json\n{\n  \"credit\": {\n    \"$gte\": 1000,\n    \"$lt\": 10000\n  }\n}\n```\n\n### Column Operators\n\n**Column operators** apply a filter to a specific column.\n\n| Description  | Description                                                                                                                                                                                                                                                                                                                                                                                               | Column Types                                                                                                             | Field Conditions                                                                         |\n|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|\n| `$eq`        | Tests if the value in the column **is identical** to the literal value.                                                                                                                                                                                                                                                                                                                                   | STRING <br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID | case-insensitive on STRING values<br/>`equalitySearch` must be true                      |\n| `$ne`        | Tests if the value in the column **is not identical** to the literal value.                                                                                                                                                                                                                                                                                                                               | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`equalitySearch` must be true                      |\n| `$gt`        | Tests if the value in the column is **greater than** the literal value.                                                                                                                                                                                                                                                                                                                                   | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`rangeSearch` must be true                         |\n| `$gte`       | Tests if the value in the column is **greater than or equal** to the literal value.                                                                                                                                                                                                                                                                                                                       | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`rangeSearch` must be true                         |\n| `$lt`        | Tests if the value in the column is **less than** the literal value.                                                                                                                                                                                                                                                                                                                                      | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`rangeSearch` must be true                         |\n| `$lte`       | Tests if the value in the column is **less than or equal** to the literal value.                                                                                                                                                                                                                                                                                                                          | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`rangeSearch` must be true                         |\n| `$contains`  | Tests if an array **contains** a literal value.<br/>For example, given a transaction with entries from accounts 12345 and 23456, the following query on the `gl_journal_tx` data table would match the transaction:<br/>```{ \"accounts\": { \"$contains\": \"12345\" } }```                                                                                                                                    | ARRAY_STRINGS                                                                                                            | case-insensitive on STRING values<br/>`containsSearch` must be true                      |\n| `$ncontains` | Tests if an array **does not contain** a literal value.                                                                                                                                                                                                                                                                                                                                                   | ARRAY_STRINGS                                                                                                            | case-insensitive on STRING values<br/>`containsSearch` must be true                      |\n| `$in`        | Tests if a column is equal to one of the values in an array of literals.                                                                                                                                                                                                                                                                                                                                  | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`equalitySearch` must be true                      |\n| `$nin`       | Tests if a column is **not equal** to any values in an array of literals.                                                                                                                                                                                                                                                                                                                                 | STRING<br/>DATE_TIME<br/>INT32<br/>INT64<br/>FLOAT32<br/>FLOAT64<br/>MONEY_100<br/>PERCENTAGE_FIXED_POINT<br/>OBJECT_ID  | case-insensitive on STRING values<br/>`equalitySearch` must be true                      |\n| `$flags`     | Accepts an object with one or more keys with boolean values. Tests if the flags (keys) match the values. <br/>For example, to search for entries that triggered the [2 Digit Benford](https://support.mindbridge.ai/hc/en-us/articles/360056059834) control point, use this query on the `gl_journal_lines` data table.<br/>```{ \"cp_failed\": {\"$flags\": { \"journal_entry_two_digit_benford\": true }}}``` | BOOLEAN_FLAGS                                                                                                            |                                                                                          |\n| `$isubstr`   | Tests if a literal value **matches** the value in the column. For example, the following query on the `engagements/query` <br/>endpoint will match engagements named \"abc\", \"aBc\", and \"zabcd\".<br/> ```{ \"name\": { \"$isubstr\": \"abc\" } }```                                                                                                                                                              | STRING                                                                                                                   | case-insensitive on STRING values<br/>`allowCaseInsensitiveSubstringSearch` must be true |\n| `$iprefix`   | Tests if a literal value **matches** the start of the value in the column. For example, the following query on the `gl_journal_tx` data table will match transactions \"T1234\", \"t1234\", and \"T12345\".<br/> ```{ \"transaction\": { \"$iprefix\": \"T1234\" } }```                                                                                                                                               | STRING                                                                                                                   | case-insensitive on STRING values<br/>`caseInsensitivePrefixSearch` must be true         |\n| `$niprefix`  | Tests if a literal value **does not match** the start of the value in the column.                                                                                                                                                                                                                                                                                                                         | STRING                                                                                                                   | case-insensitive on STRING values<br/>`caseInsensitivePrefixSearch` must be true         |\n\n### Root Operators\n\n#### Logical Operators\n\n**Logical operators** allow MindBridge to combine Column Operation queries to allow for more sophisticated calls.\n\n| Operator | Description                                                    |\n|----------|----------------------------------------------------------------|\n| `$and`   | Tests that **all** contained terms are evaluated to be `true`. |\n| `$or`    | Tests that **any** contained terms are evaluated to be `true`. |\n\n#### Keyword Operators\n\n**Keyword operators** are applied simultaneously to all columns that support keyword searches. This is controlled by the keywordSearch\nattribute associated with the column’s metadata.\n\n| Operator              | Description                                                                                                                                                                                                                                                                                                             |\n|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `$keyword_prefix`     | Performs a case-insensitive prefix search of all words in the row (operand must be a STRING).<br/>For example, the following query on the `gl_journal_tx` data table will return transactions with rows that contain the words **abc** , **abcdef**, or **aBcd** in any column. <br/>```{ \"$keyword_prefix\": \"abc\" }``` |\n| `$keyword_prefix_not` | Inverted case-insensitive prefix search (operand must be a STRING).                                                                                                                                                                                                                                                     |\n\n#### Population Operators\n\n**Population operators** test whether the specified entry is or is not included within the specified population, identified by its ID. The\npopulation in question must be accessible from the analysis, meaning the population must be part of the analysis, engagement, or library\nthat this data table resides in.\n\n| Operator          | Description                                                                     |\n|-------------------|---------------------------------------------------------------------------------|\n| `$population`     | Tests that entries are part of the population specified by the provided ID.     |\n| `$not_population` | Tests that entries are not part of the population specified by the provided ID. |\n\nThe correct usage of `$population` and `$not_population` is as follows, with `643eff00ec992f7ec42ed9f7` being a valid population ID:\n\n```json\n{\n  \"$population\": \"643eff00ec992f7ec42ed9f7\"\n}\n```\n\n```json\n{\n  \"$not_population\": \"643eff00ec992f7ec42ed9f7\"\n}\n```\n\n### Data Formats\n\nBecause the MindBridge QL is based on JSON, `strings`, `numbers`, and `booleans` are natively included in the language definition, but\nother values require some conversion. The following table describes the values MindBridge QL accepts in relation to our internal data\nstructure. The contents of the \"Column Type\" column (below) represent the data types supported internally and how they are mapped to the\nJSON object structure.\n\n| Column Type              | Format                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |\n|--------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `STRING`                 | Value must be a JSON string.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |\n| `DATE_TIME`              | A JSON string in ISO8601 date-time format, such as **2019-08-10T00:50:00Z**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |\n| `BOOLEAN`                | Value must be a JSON boolean (true or false).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| `INT32`                  | Value must be a JSON number in the range **[-2^31, 2^31-1]**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| `INT64`                  | Value must be a JSON number in the range **[-2^63, 2^63-1]**.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| `FLOAT32, FLOAT64`       | Value must be a JSON number.<br/>FLOAT32 **[1.2E-38, 3.4E+38]**<br/>FLOAT64 **[2.2E-308, 1.7E+308]**                                                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| `MONEY_100`              | Currently we express currency values as integers, essentially multiplying by 100 to store, and dividing by 100 when displaying the value. <br/>This allows MindBridge to operate with floating point numbers without loss of precision. Value must be a JSON number in the range **[-2^63,2^63-1]**. No division by 100 is performed on the actual data.<br/>For example, in a `MONEY_100` column, such as credit, the following query on the `gl_journal_lines` data table will find values greater than 1234.<br/>```{ \"credit\": { \"$gt\": 1234 } }``` |\n| `PERCENTAGE_FIXED_POINT` | Value must be a JSON number in the range **[0, 10000]** where 10000 means 100%.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| `ARRAY_STRINGS`          | Value must be an array of JSON strings.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| `OBJECT_ID`              | A 12-byte database identifier, represented by a 24-character hexadecimal string. Organizations, engagements, analyses, and analysis sources all use **OBJECT_ID** for their `id` fields.<br/>For example, `6686add55cd5c94147ecebdb`                                                                                                                                                                                                                                                                                                                    |\n\n## Rate limiting\n\n**Rate limiting** restricts the number of API calls that can be made to certain endpoints over a given period of time, and has been applied\nto the endpoints indicated below. Once the limit is reached, further calls to any of these endpoints will fail until the rate limit resets.\n\nThese failures will show the HTTP status: `429 Too Many Requests`, along with a response header: `X-User-Hour-Limit-Remaining`. The\nvalue in the response header represents the number of seconds until the rate limit resets.\n\nFor example, suppose the `POST /users` endpoint has a rate limit of `100` calls per `1 hour`. If more than 100 requests are made within the\ngiven hour, any subsequent requests would fail and return the error indicated above.\n\nSince rate limiting is applied tenant-wide, all tokens share the same rate limit.\n\n### Rate limits\n\n| Name                    | Reset time remaining header   | Limit | Duration | Endpoints                                                     |\n|-------------------------|-------------------------------|-------|----------|---------------------------------------------------------------|\n| Modify users rate limit | `X-User-Hour-Limit-Remaining` | 100   | 1 hour   | - Create user<br/>- Update user<br/>- Resend activation email |\n\n### Platform-level rate limits\n\nAdditional rate limits are applied at the platform level on a per-IP address basis to protect against potential abuse or client-side\nsoftware incidents, and are set high enough that customers should not encounter them in regular use. Platform-level rate limits will return\nthe HTTP status `429` with no `X-User-Hour-Limit-Remaining` header, and requests can be retried after approximately 30 seconds.\n",
        "contact": { "name": "MindBridge", "url": "https://mindbridge.ai", "email": "developer@mindbridge.ai" },
        "version": "1.8.5"
    },
    "servers": [
        {
            "url": "https://{tenant}.mindbridge.ai/api",
            "description": "MindBridge API base URL",
            "variables": { "tenant": { "description": "MindBridge tenant (subdomain)", "enum": ["preview"], "default": "preview" } }
        }
    ],
    "security": [{ "mindbridge-api": [] }],
    "tags": [
        {
            "name": "Account Groupings",
            "description": "An **account grouping** is a custom financial hierarchy that MindBridge uses to interpret accounts and the relationships\nbetween them, and defines how accounts are aggregated and presented in analysis results across the MindBridge platform\nand reports. When you create an account grouping, you must map account groups\nto [MindBridge Account Classification (MAC) codes](https://support.mindbridge.ai/hc/en-us/articles/22819163288343-MindBridge-Account-Classification-code-system-MAC-v-2).\nThis mapping enables MindBridge to effectively analyze datasets across any engagements and analyses that use a given\naccount grouping.\n\n## Creating a new account grouping\n\nTo create a new account grouping, import a\ncompleted [MACv2_AccountGroupingTemplate](https://support.mindbridge.ai/hc/en-us/articles/22819163288343)* Excel file or\na _CCH group trial balance_ file as a chunked file. Import the new file using the `/import-from-chunked-file` endpoint.\nThis action will create a new account grouping entry and a complete set of account groups and MAC mappings, as defined\nin the imported file.\n\n***Note:** The exportable template is located at the bottom of the linked article. Once you have the template, follow\nthe steps linked here to [create a new account grouping](https://support.mindbridge.ai/hc/en-us/articles/360056330754).\n\n## Appending to an existing account grouping\n\nTo append to an existing account grouping, export the most current version of your MindBridge account grouping, then add\nnew account groups to the bottom of the account grouping, starting from the first empty row. Next, save the file and\nimport it as a chunked file, then import the new file using the `/append-from-chunked-file` endpoint. This action will\nadd the new account groups and mappings to the end of the existing account grouping.\n\n**Note:** _CCH group trial balance_ files may not be used when appending to an existing account grouping.\n\n## Publishing an account grouping\n\nAccount groupings must be published before they can be added to a library. In order to be published, errors must be\nresolved for all account groups within the account grouping, and the lowest-level account categories for each account\ngroup must be mapped to a MAC code. To publish an account grouping, set the `publishStatus` field to `PUBLISHED`.\n\nUpon publishing, all the account groups within the account grouping are finalized and can no longer be updated, however\nthe account grouping can still be appended to. Appending will change the account grouping’s `publishStatus`\nto `UNPUBLISHED_CHANGES`.\n\nFrom the `UNPUBLISHED_CHANGES`, the account grouping can be re-published after fixing all account group errors, then\nupdating the `publishStatus` field to `PUBLISHED`.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Account Groups",
            "description": "An **account group** is an individual entry within an account grouping. The lowest-level category for each account group\nmust be mapped\nto [MindBridge Account Classification (MAC) codes](https://support.mindbridge.ai/hc/en-us/articles/22819163288343-MindBridge-Account-Classification-code-system-MAC-v-2),\nand optionally, assigned account tags for further classification.\n\nAccount groups can be updated as needed until the account grouping is published. Once published, existing account groups\ncannot be updated, but new account groups can be added to the account grouping using the `append` endpoint.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Account Mappings",
            "description": "_Account mapping_ aligns your organization's accounts with MindBridge Account Classification (MAC) codes based on their\nnature, ensuring that MindBridge can consistently and effectively analyze datasets across the engagement.\n\nBefore an analysis can be run, all account mappings within the given engagement must be marked as _Verified_ or _MAC code_.\n\n## Mapping statuses\n\n- **Verified**: Indicates that the account has been mapped to a MAC code or grouping code _automatically_, and/or was\n  previously manually verified.\n- **Unverified**: Indicates that MindBridge _automatically_ mapped the account to a lowest level account grouping code\n  based on the grouping code and/or account description, and should be verified for accuracy before you proceed.\n- **MAC code**: When using a MindBridge default library, this indicates that the imported general ledger file included\n  a \"MAC code\" column that accurately reflects the lowest-level MAC code for each account group in the ledger — in this\n  case, MindBridge uses _direct matching_ to map the accounts.\n- **Modified**: Indicates that an account's MAC code was updated when copied between account groupings — this may happen\n  if a _different library_ is selected while rolling an analysis forward or duplicating an analysis into a _new\n  engagement_.\n- **Manual**: Indicates that the account mapping was changed manually by a member of your team.\n- **Inferred**: When a less granular grouping code or MAC code is provided, this indicates that MindBridge has\n  automatically mapped the account to a Level 3 MAC code based on the provided code and account description, and should\n  be verified for accuracy before you proceed.\n- **Unmapped**: Indicates that the account has not yet been mapped to a valid MAC code or grouping code.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Admin reports",
            "description": "**Admin reports** are reports that can be run to summarize user and system activity.\n\nCurrently, the following reports can be run:\n- **Activity report** – This report lists activity between the specified dates and filters\n- **Analysis overview report** – This report lists analyses and the associated risk score results.\n- **Row usage report** – This report lists analyses completed within your specified date range along with the number of rows in each primary current period data file.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analyses",
            "description": "An **analysis** is a logical grouping of financial data that can be run through a series of rules-based, statistical, and machine-learning\ntests in order to generate analysis results. Once a set of financial data has been configured and imported, an analysis can be run to\nproduce an _Analysis Result_ entity, which contains insights into the provided data.\n\nAnalyses require a number of supporting documents in order to run successfully. After running an analysis, you can view\nthe results and leverage them to support your audit work.\n\n### Analysis Type\n\nWhen creating an analysis, you must identify the **type of analysis** you want to create. To do so, set\nthe `analysisTypeId` field to the corresponding ID for the specific analysis type.\n\nThe analysis type must be supported by the library used by the engagement. The supported analysis types are listed in\nthe library’s `analysisTypeIds` field.\n\nRefer to the Analysis Type endpoint to select an analysis type and review its settings.\n\n### Analysis Periods\n\nAn **analysis period** is the date range for a given period under analysis. MindBridge supports the analysis of one\ncurrent period and up to four prior periods.\n\nTo add analysis periods, add analysis period objects to the appropriate locations in the `analysisPeriods` array.\n\nTo modify analysis periods, update the `analysisPeriods` array.\n\n**Note**: Analysis periods will appear in order, with the most recent appearing in the current period. Periods must not\noverlap or have date gaps between them. The `interimAsAtDate` must not be set for prior periods.\n\nTo resize an analysis period, update the `startDate`, `interimAsAtDate` and/or `endDate` to the desired date. See\n“Interim Time Frames” below for details.\n\nTo remove an analysis period, remove the target object in the `analysisPeriods` array. The current period (index `0`)\nmay not be removed, nor analysis periods that have associated analysis sources.\n\nIf you remove the ID from an analysis period, the analysis period will be removed and a new period with the same values\nwill be added, resulting in a new ID being returned.\n\n[Learn more about analysis periods](https://support.mindbridge.ai/hc/en-us/articles/360056524494-What-is-an-analysis-period)\n\n#### Full Time Frames\n\nThe **full time frame** allows your team to import a complete\ndataset. [Learn more](https://support.mindbridge.ai/hc/en-us/articles/19029762802967)\n\nTo create an analysis with a full time frame, the `interim` and `periodic` fields must be `false` in the body of the\nCreate\nAnalysis request.\n\n#### Interim Time Frames\n\nThe **interim time frame** allows your team to import a portion of a dataset before\nyear-end. [Learn more](https://support.mindbridge.ai/hc/en-us/articles/19030451443223)\n\nTo create an analysis with an `interim` time frame, the interim field must be `true` in the body of the Create Analysis\nrequest. You must also provide an `interimAsAtDate` for the current period, which defines the last day of the interim\nperiod.\n\n**Note**: The `interim` field cannot be combined with the `periodic` field, which must be `false` if `interim` is `true`.\n\n**Note**: The interim time frame must be supported by the analysis type in order to use it.\n\n#### Periodic Time Frames\n\nThe **periodic time frame** allows your team to import data on an ongoing basis, such as monthly or quarterly, over the\ncourse of the analysis period. [Learn more](https://support.mindbridge.ai/hc/en-us/articles/19034004957591)\n\nTo create an analysis with a periodic time frame, the `periodic` field must be `true` in the body of the Create Analysis\nrequest.\n\n**Note**: The `periodic` field cannot be combined with the `interim` field, which must be `false` if `periodic`\nis `true`.\n\n**Note**: The periodic time frame must be supported by the analysis type in order to use it. Additionally, the periodic\ntime frame and the risk monitoring dashboard are disabled by default in the library's analysis configuration, and must\nbe enabled by an App Admin before they can be accessed.\n\n### Currency\n\nThe **currency code** indicates the type of currency used in the analysis.\n\nA valid currency code must be provided in the `currencyCode` field.\n\n**Note**: MindBridge supports the majority of currencies indicated\nin [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html). Currency code labels used within MindBridge may not\nmatch ISO labels exactly, but support for those currencies still exists.\n\n**Note**: MindBridge does not support currencies that use more than two decimal places.\n\n### Reporting Periods\n\nMindBridge supports custom reporting periods. If your organization has a custom reporting period configuration, you can specify it when\ncreating an analysis by providing the `reportingPeriodConfigurationId` field with the ID of the desired reporting period configuration.\n\nIf no reporting period configuration ID is provided, it inherits the reporting period set in the engagement. On an update, the existing\nvalue will be used if no value is provided.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analysis Results",
            "description": "An **analysis result** is a logical grouping of financial data that has been run through a series of rules-based,\nstatistical, and machine-learning tests.\n\nEach time an analysis is run (or re-run), it will generate a distinct analysis result. Running an analysis multiple\ntimes will result in multiple sets of analysis results.\n\n### Task and data table migration for the periodic time frame\n\nWhen an analysis using the _periodic_ time frame is re-run, any existing tasks or data tables created on the latest\nanalysis result will be migrated to the new analysis result. Upon completion, the `id` field will be updated to a new\nvalue, and the `analysisResultId` field will be updated with the ID of the new analysis result.\n\n**Note**: This does not apply to _full_ or _interim_ time frames, wherein rolling forward, duplicating, or converting interim\nanalyses causes a new analysis being created, with the original analysis results' tasks and data tables remaining in\nplace.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analysis Source Types",
            "description": "An **Analysis Source Type** describes the features applied when importing an analysis source, such as the effective date\nrange, transaction ID selection, etc., as well as relevant MindBridge column definitions. These features determine which\nsteps occur during the analysis source import process.\n\n### Alternative MindBridge field names for non-MAC account groupings\n\nWhen using a non-MAC based account grouping, some MindBridge fields use a different name (for example, `mac_code`\nbecomes `custom_code`). This is identified by the `mindbridgeFieldNameForNonMacGroupings` field, which describes which\nMindBridge field name to use instead.\n\nAdditionally, when using a non-MAC based account grouping, some fields may become required. This is indicated by\nthe `requiredForNonMacGroupings` field, which is set for all fields that specify\na `mindbridgeFieldNameForNonMacGroupings` value.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analysis Sources",
            "description": "An **analysis source** represents a table of data (often from a file) that is required to run an analysis. These objects\ncontain ingestion metadata, including data formats, density and frequency analysis, and much more. The analysis sources\nare the core object types used during the data import process and provide the data necessary to complete the analysis.\n\n### Analysis source type\n\nAn **analysis source type** determines which features are available during the analysis source import process, and must\nbe selected when creating an analysis source.\n\nRefer to the `Analysis Type` endpoint to determine which analysis source types can be applied to a given analysis.\n\nRefer to the `Analysis Source Type` endpoint to determine the features and column mappings for a given analysis source\ntype.\n\n#### Additional Analysis Data\n\n**Additional data** is available as an analysis source type for all analysis types. When creating an additional data\nanalysis source, the `additionalDataColumnField` property must be set to the additional data field added during the\nimport of other source types. A list of the analysis' additional data columns is available from its `importantColumns`\nfield.\n\n### Async create and update responses\n\nUnlike other entities, the analysis source entity may perform long-running background jobs as a result of a `Create`\nor `Update` call. As a result, calls to `Create` or `Update` an analysis source will return an **async result** entity.\nUsers should poll this entity and await its completion before re-loading the analysis source and making further changes.\n\n### Analysis Source workflow\n\nUnlike other entities, importing an analysis source relies on a multi-step workflow process. Which steps are included is\ndetermined by which **features** the analysis source type supports. These features include multiple **workflow states**,\nwhich determine the current location of the analysis source within the workflow.\n\nThere are two workflow state types: **step states** and **transition states**.\n\n- Step states allow users to configure properties on an analysis source, or the analysis more broadly. Some step states\n  are provided for the MindBridge web app interface and may have little to no meaningful interaction with the API.\n\n- Transition states indicate that the analysis source is performing work asynchronously, and will eventually transition\n  to another state.\n\nHere is a list of features and their possible workflow states:\n\n| Feature                  | State name                       | State type |\n|--------------------------|----------------------------------|------------|\n| Feature independent      | STARTED                          | Transition |\n| Format detection         | DETECTING_FORMAT                 | Transition |\n|                          | FORMAT_DETECTED                  | Step       |\n|                          | FORMAT_DETECTION_COMPLETED       | Transition |\n| Data validation          | ANALYZING_COLUMNS                | Transition |\n|                          | COLUMNS_ANALYZED                 | Step       |\n| Column mapping           | DATA_VALIDATION_CONFIRMED        | Step       |\n|                          | COLUMN_MAPPINGS_CONFIRMED        | Transition |\n| Effective date metrics   | ANALYZING_EFFECTIVE_DATE_METRICS | Transition |\n|                          | EFFECTIVE_DATE_METRICS_ANALYZED  | Step       |\n|                          | ANALYSIS_PERIOD_SELECTED         | Transition |\n| Transaction ID selection | CHECKING_INTEGRITY               | Transition |\n|                          | INTEGRITY_CHECKED                | Step       |\n| Parse                    | PARSING                          | Transition |\n|                          | PARSED                           | Step       |\n| Review Funds             | FUNDS_REVIEWED                   | Step       |\n| Confirm Settings         | SETTINGS_CONFIRMED               | Transition |\n| Feature independent      | COMPLETED                        | Step       |\n|                          | FAILED                           | Step       |\n\n### Transitioning between states\n\nTo transition between workflow states, set the `targetWorkflowState` property to the name of the desired workflow state.\nOnce set, the workflow will attempt to advance to that state, passing through all states between the current and target\nstate without stopping.\n\nIf the target state is a transition state, the workflow will continue past it until it reaches the next step state.\n\nWhen creating a new analysis source, if `targetWorkflowState` is not set, the workflow will advance to the first valid\nstep state, then stop.\n\nThese rules apply to all transitions, with a few exceptions:\n\n- If an [ungrouped format](https://support.mindbridge.ai/hc/en-us/articles/10437018464407) is detected within the\n  selected source file, the FORMAT_DETECTED state will be ignored. Setting `targetWorkflowState` to FORMAT_DETECTED on a\n  source file containing ungrouped data will result in the workflow continuing to the next step state.\n- If the final workflow state type is a step state, the workflow will advance to COMPLETED instead of stopping. This is\n  often the case with the PARSED state, as it is the final feature state for many source types.\n- If an error occurs during a workflow process, the workflow will transition to FAILED. The cause of the failure can\n  often be found in the async result or in the analysis source’s `errors` property.\n\n### Feature properties\n\nCertain feature properties may only be read or set on or after specific workflow states. Here is a breakdown of the\nrelationship between workflow states and analysis source properties:\n\n#### Format detection\n\nIf a [grouped data](https://support.mindbridge.ai/hc/en-us/articles/10437018464407) format is detected, the workflow\nwill stop at the FORMAT_DETECTED state. Then, the `detectedFormat` property will return the name of the detected format.\nFrom there, the `applyDegrouper` can be set. If `applyDegrouper` is true then when advancing to the next step, the\nrelevant formatter will be used to convert the file into a readable format. If not, the file will be used as is.\n\n`applyDegrouper` can be set immediately upon creation of the analysis source. If this is done and grouped data is\ndetected within the workflow, instead of stopping on FORMAT_DETECTED it will implicitly apply the formatter and continue\nto the next workflow state.\n\nIf the formatter is used in either scenario, the `degrouperApplied` property will be set to `true`.\n\nThe `presetHeaderRowIndex` field can be set to manually specify the header row’s position in the imported file, bypassing automatic header\ndetection. The field is zero-based, so the first row in the file is considered row 0.\n\n#### Data validation\n\nUpon reaching the COLUMNS_ANALYZED state, the `fileInfo` property is populated with information, including metadata for\nthe individual columns (which is available as part of the `columnData` property) and for the file as a whole (available\nunder the `metadata` property).\n\nMetrics contain a `state` property, which may appear as `PASS`, `WARN`, or `FAIL`. These serve as status indicators and\nmay warn of problems with the file’s data.\n\n#### Column mapping\n\nUpon reaching the DATA_VALIDATION_CONFIRMED state, the `proposedVirtualColumns`, `proposedColumnMappings`,\nand `proposedAmbiguousColumnResolutions` properties are applied, and the `virtualColumns`, `columnMappings`,\nand `ambiguousColumnResolutions` properties are updated accordingly. More information on the proposed fields is\navailable in the **Full source import automation** section.\n\nIf no value is present for `proposedColumnMappings`, then a set of recommended column mappings will be applied to the\nfile.\n\nThe API handles column mapping by assigning a column from the file to a MindBridge field with a compatible data type. To\ndo this, an entry in the `columnMappings` array must contain both the `position` of the column from the source file and\nthe target `mindbridgeField` to assign it to.\n\n#### Virtual columns\n\n[Virtual columns](https://support.mindbridge.ai/hc/en-us/articles/10442701235223) can be added, modified, and removed by\nchanging the `virtualColumns` property. Once created, virtual columns have a `position` property that can be used in\ncolumn mapping; the metrics in `fileInfo` will be updated accordingly.\n\n#### Ambiguous column resolution\n\nWhile MindBridge can detect usable date formats, including different formats that appear within a single column, in some\ncases the format of date and currency fields cannot be determined from the dataset provided. For example, the date\nformat `1/2/2022` could either be January 2nd, 2022, or February 1st, 2022, depending on which date format is being\nused. When ambiguous columns are detected, an entry in the `ambiguousColumnResolutions` property will be created with a\nlist of all the possible formats in its `ambiguousFormats` property. To resolve this issue, the correct format from the\nlist of `ambiguousFormats` should be set in the `selectedFormat` property.\n\n#### Additional data\n\nUnmapped columns may be added as additional data columns. To do so, a special mapping must be created with\nthe `mindbridgeField` left blank, and a value set for `additionalColumnName`. Once this source has completed the import\nprocess, a new source with the same name set for `additionalDataColumnField` and the source type ID corresponding to the\nAdditional Data Source Type can be created.\n\n#### Effective date metrics\n\nThis step confirms that the file’s entries fall within the current analysis period. Once this state has been reached,\nthe `analysis-sources/{analysisSourceId}/effective-date-metrics` endpoint can be used to get a set of metrics regarding\nthe number of entries within the source’s analysis period. A `period` value can be used to set the resolution of the\nhistogram to days, weeks, or months.\n\n#### Transaction ID selection\n\nTransitioning into the [transaction ID](https://support.mindbridge.ai/hc/en-us/articles/8740577590295) selection feature\nwill generate a preview of the selected transaction by `proposedTransactionIdSelection` and set\nthe `transactionIdSelection` property to this value. If no value is set, a set of potential transaction ID selections\nwill be generated and what is determined to be the best selection, according to MindBridge's internal tooling, will be\nset to the `transactionIdSelection` property.\n\nDetails about these **transaction ID previews** can be viewed via the transaction ID preview endpoints.\n\nWhen on the INTEGRITY_CHECKED state, changing the `transactionIdSelection` will either select an existing preview with\nthe same properties as the currently selected transaction ID, or, if it doesn’t exist, will generate a new preview for\nthe selection, and select it.\n\n#### Review funds and confirm settings\n\nThese features have no direct interaction with the API and are only relevant with respect to the web application.\n\n### Full source import automation\n\nWhen creating a new analysis source it is possible to perform the entire import process by setting\nthe `targetWorkflowState` property to `COMPLETED`. As a result of performing all workflow steps at once, some features\nrequire input to be provided immediately, specifically the column mapping and transaction ID selection features. To\nprovide these values, separate `proposed` fields can be set in order to provide these values instead of relying on the\ndefault column mapping and transaction ID selection behavior.\n\n#### Column mapping\n\nThe `proposedVirtualColumns`, `proposedColumnMappings`, and `proposedAmbiguousColumnResolutions` properties provide the\nability to pre-define their respective properties ahead of running validation. These proposed versions of the properties\nhave some key differences from their applied counterparts:\n\n- As validation has not been run and the column positions have not been determined, the `position` property for virtual\n  columns isn’t available. As an alternative to the `proposedColumnMappings` property, a `virtualColumnIndex` property\n  is available and should be used to reference a specific virtual column definition in the `proposedVirtualColumns`\n  array.\n- `proposedAmbiguousColumnResolutions` are not able to determine the ambiguous formats ahead of validating the file, so\n  the   `ambiguousFormats` property is not available. Additionally, the `position` property can only refer to a physical\n  column, and not a virtual one.\n\n#### Transaction ID selection\n\nThe `proposedTransactionIdSelection` property can be defined immediately upon creating the analysis source. If it is set\nwhile entering the transaction ID selection feature then a transaction ID preview will only be generated for that\nselection, and `transactionIdSelection` property will be updated accordingly.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analysis Type Configuration",
            "description": "An analysis type configuration is the configuration of analysis properties for a given analysis type. Libraries, engagements and analyses\nall have analysis type configurations as child entities for each of their supported analysis types.\n\nWhen an engagement is created, it will copy the analysis type configuration from the related library, and again when an analysis is created\nit will copy the analysis type configuration from its related engagement in turn.\n\nAnalysis type configuration allows configuration of settings related to control points, including grouping and weighting of control points,\nas well as the selection of related risk ranges.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Analysis Types",
            "description": "**Analysis types** describe the features of each analysis, such as specific account mappings or whether the analysis\nsupports fund accounts, as well as the source configurations used for a given analysis type.\n\n[Learn more about the types of analyses available within MindBridge](https://support.mindbridge.ai/hc/en-us/articles/360058198913-Analysis-types-available-in-MindBridge)\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "API Tokens",
            "description": "**API tokens** are used to authenticate requests made to the MindBridge API. During creation, each token is assigned permissions that\ncontrol the actions it can perform.\n\nAPI tokens are valid until their expiry date, after which they can no longer be used. A token may be active for a maximum of 2 years from\nthe date of creation.\n\nAdditionally, API tokens can be configured to limit access to specific IP addresses or CIDR blocks by setting the `allowedAddresses`\nproperty to a valid IPv4 or IPv6 address, or CIDR range.\n\n## API Token Users\n\nOnce an API token is created, an **API Token User** is automatically created and assigned to the API token. This non-human user account\nrepresents the API token, and any action that the API takes will be attributed to that user. Because each API Token User is linked to a\nunique API token, these accounts cannot be deleted or disabled, except by deleting the associated API token itself.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Async Results",
            "description": "**Async results** can be used to track the status of asynchronous background jobs (such as data ingestion) for which results may not be\nimmediately available. Users can poll these records to view the status of their requests. Once the requests have been completed, users can\ncall the relevant entity’s `Read` endpoint to view the results of the job.\n\n### Permissions\n\nThe **permissions** needed to access this collection are controlled by the target data you are attempting to access.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Chunked Files",
            "description": "Importing **chunked files** allows you to bypass the 8 GiB import limit by splitting a large file into smaller files (“chunks”). Each chunk\ncan be individually retried in case of a network failure, but the entire import process must be completed within 7 days.\n\n### How it works:\n\n- Create a chunked file.\n- Add chunked file parts.\n- Create a file manager file from a chunked file.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Connection Tables Results",
            "description": "**Connection Tables Results** represent the outcome of running a Connection's \"Get Tables\" operation. The Connection Tables Result\nis stored as a record containing the total number of tables found. The individual tables discovered are stored as separate\nConnection Table records linked back to this Connection Tables Result.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Connection Test Results",
            "description": "**Connection Test Results** represent the outcome of running a Connection's \"Test Connection\" operation. The Connection Test Result\nis stored as a record containing a message indicating whether the connection was successful or describing the failure.\n\n#### Cleanup task\n\nA cleanup task is regularly run that will delete Connection Test Results that are older than 7 days.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Connections",
            "description": "**Connections** represent external data sources configured in MindBridge. Connections allow you to connect to external systems, test\nconnectivity, discover available tables, and retrieve data for use in MindBridge.\n\nThe following types of connections are currently available:\n\n- `DATABRICKS` - A connection to a Databricks workspace. This requires a Databricks Authorization entity to be associated with this\n  connection to provide configuration and authorization parameters.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Data Catalog Entries",
            "description": "**Data catalog entries** are curated remote and local data sets accessible in MindBridge. These data sets can be annotated on the table and\ncolumn level and can be queried to produce a data table.\n\nCurrently, the following data sources can be used to create data catalog entries:\n\n**MindBridge data tables**\n\nA data catalog entry can reference an existing MindBridge data table. These catalog entries must have their `source` field set to\n`DATA_TABLE`, and a valid `dataTableId` set to a data table ID. Data catalog entries can use all data tables accessible by the API as\nsources.\n\n\n**Connection tables**\n\nTables provided by the connections feature can be used in data catalog entries. These catalog entries must have their `source` field set to\n`CONNECTION`, and both connectionId and tableId values set.\n\nData catalog entries are not actively validated for alignment with their underlying source and may need to be manually validated and\ncorrected if the remote source’s schema is not compatible with the schema provided by the data catalog entry.\n\nThe data catalog does not need to include all columns provided by the remote source, but the name and columnType fields of the columns must\nalign with the underlying source name and type respectively. Columns that are not nullable in the source may not be nullable in the data\ncatalog.\n\nFailure to properly align the column schemas may result in errors when attempting to read data from the data catalog entry. Data types are\nnot implicitly converted, so the exact same data types must be present in the data source and the data catalog entry.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Data Connection Tables",
            "description": "**Connection Tables** represent individual tables discovered from an external connection. When a Connection's \"Get Tables\" operation\nis performed, the results are stored as Connection Table records. Each record contains the table's identifier, display name, and\nschema (column definitions), and is linked back to both the Connection and the Connection Tables Result that produced it.\n\nIf the \"Get Tables\" operation is run multiple times on the same Connection, tables are added, removed, or updated based on their\n`tableId`, rather than creating duplicate entries.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Data Source Import Tasks",
            "description": "**Data source import tasks** are records of in-progress or past data source import jobs where data is being imported into MindBridge from a\nlocal or remote data source.\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Data Tables",
            "description": "After running the analysis, the **data table** provides results details about the imported financial data for the\ncurrent period.\n\n### Logical names and types\n\nData tables types can be identified by either their `logicalName` or `type` field, depending on the data table, and can\nbe queried accordingly using the following fields:\n\n| Table                                                      | Field         | Value                              |\n|------------------------------------------------------------|---------------|------------------------------------|\n| General Ledger Entries                                     | `logicalName` | `gl_journal_lines`                 |\n| General Ledger Transactions                                | `logicalName` | `gl_journal_tx`                    |\n| Monetary Flows                                             | `type`        | `flows_compact`                    |\n| Accounts Payable Entries                                   | `logicalName` | `ap_detail_entries`                |\n| Accounts Receivable Entries                                | `logicalName` | `ar_detail_entries`                |\n| Accounts Payable: End of Period Outstanding Payable        | `logicalName` | `ap_detail_union_open_payables`    |\n| Accounts Receivable: End of Period Outstanding Receivables | `logicalName` | `ar_detail_union_open_receivables` |\n| Configured Analysis Entries                                | `logicalName` | `output_entries_virtual`           |\n\n### Table API stability\n\nThe API includes data tables with stable schema\nas well as tables with unstable schema, where the schema might change\nin the future or may even be removed.\n\nBy default, the data table query API returns tables with stable schema only.\nTo include tables with unstable schema in the results,\nadd `include-unstable-schemas=true` to your query string. For example,\n`https://.../api/v1/data-tables/query?page=0&size=20&include-unstable-schemas=true`.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Data Transformation",
            "description": "The **data transformation** endpoint is a collection of data manipulation techniques that can be performed on file manager files. These\ntransformations can be applied to one or more files, and typically generate new files based on specified input configurations.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Databricks Authorization",
            "description": "**Databricks Authorizations** store the credentials and configuration required to authenticate with a Databricks instance. Each\nauthorization is associated with a Connection and contains the host, HTTP path, and authentication details (either a personal access\ntoken or OAuth 2.0 machine-to-machine credentials). Each Connection can have at most one Databricks Authorization — creating a new\nauthorization for a Connection that already has one will fail.\n\nThe `authType` field determines which credentials are required:\n\n- **PAT** (Personal Access Token): Uses `host`, `httpPath`, and `accessToken`. The `port` is optional (typically 443).\n- **OAUTH_M2M** (OAuth 2.0 Machine-to-Machine): Uses `host`, `httpPath`, `clientId`, and `clientSecret`. The `port` is optional (typically 443).\n\n**Notice**: This endpoint is part of a feature under active development. It may be subject to change in future releases. For more\ninformation, please contact your MindBridge account representative.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Engagement Account Groupings",
            "description": "An **engagement account grouping** is an engagement-level copy of an account grouping that is generated upon creation of a new\nengagement. Subsequent changes made to the original account grouping and/or its account groups will not be copied into the\nengagement account grouping, and vice versa.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Engagement Account Groups",
            "description": "An **engagement account group** is an individual entry within an engagement account grouping. \n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Engagements",
            "description": "An **engagement** represents a service or activity performed for one of your clients. When you create an engagement within an organization,\nit will always be associated with that organization. Engagements house the analyses you run within MindBridge, like the general ledger\nanalysis.\n\nTypically engagements represent an annual audit, so using MindBridge over the course of several years will result in multiple engagements\nwithin an organization, each corresponding to a fiscal year.\n\nThe reportingPeriodConfigurationId is an optional field. If provided, it will use the custom reporting period configuration specified by\nthe ID. If not provided, it will default to the default reporting period configuration.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "File Info",
            "description": "_File Info_ is an entity used to describe metadata for a file within the MindBridge application. Every file has an associated File Info\nrecord. If the system detects tabular data in the file, the File Info is automatically upgraded to a Tabular File Info, which includes\nadditional metadata describing the table and columns.\n\nThe type of file info is determined by the `type` field. If the value is `FILE_INFO`, the record is a file info. If the value is\n`TABULAR_FILE_INFO`, the record is a tabular file info.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "File Manager",
            "description": "The **file manager** is a secure, centralized holding area designed to store files related to an engagement. It supports a folder-based\nhierarchy, allowing data to be utilized for various purposes. Files stored in the file manager can be imported into appropriate analysis\nsources*.\n\n***Note:** The file manager can hold any number of files, but the analysis source types available within an engagement are controlled by the\nselected library and the analysis types it supports.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "File Results",
            "description": "**File results** are the results of asynchronous processes that produce files. They can be exported once the async result reports that the task\nis complete.\n\nFile results are restricted to the API token that started the export process. File results created by another user or API token cannot be accessed.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "JSON Tables",
            "description": "A JSON Table is a collection of tabular data structured into one or more pages of JSON arrays, imported into the MindBridge platform. Each\narray consists of objects, where for each object, the keys represent column headers and their associated values represent the data for\nthat column. Data must be uploaded sequentially, one page at a time, as concurrent page uploads are not supported.\n\nOnce all data has been appended to the JSON Table, a file manager file can be created using the file manager's\n`Import From JSON Table` endpoint, which merges all the parts into a concatenated CSV file.\n\nThe headers in the resulting file are based on those specified in the JSON Table, and the order of the headers will correspond to the\nsequence in which each unique header appears in the source data.\n\nFor example, given the following two pages of JSON Table data:\n\n```json\n[\n  {\n    \"Account\": \"First Account\",\n    \"Amount\": \"10.11$\",\n    \"Date\": \"2020-01-01\"\n  },\n  {\n    \"Account\": \"Second Account\",\n    \"Amount\": \"89.99$\",\n    \"Date\": \"2020-01-02\"\n  }\n]\n```\n\n```json\n[\n  {\n    \"Account\": \"Third Account\",\n    \"Amount\": \"33.31$\",\n    \"Date\": \"2020-01-03\"\n  },\n  {\n    \"Account\": \"Fourth Account\",\n    \"Amount\": \"10.11$\",\n    \"Memo\": \"My Memo\"\n  }\n]\n```\n\nThe resulting CSV file would be the following:\n```\n\"Account\",\"Amount\",\"Date\",\"Memo\"\n\"First Account\",\"10.11$\",\"2020-01-01\",\"\"\n\"Second Account\",\"89.99$\",\"2020-01-02\",\"\"\n\"Third Account\",\"33.31$\",\"2020-01-03\",\"\"\n\"Fourth Account\",\"10.11$\",\"\",\"My Memo\"\n```\n\n### JSON Table entities cleanup\nJSON Table entities that are more than **7 days** old will be deleted. To avoid data loss, ensure that all JSON Table entries are imported\nas file manager files once all the data has been imported.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Libraries",
            "description": "**Libraries** allow teams to standardize their engagements firm-wide by setting the parameters for each type of analysis\navailable in MindBridge, including account groupings, ratios, filters, and risk scores.\n\nNew libraries must be created based on an existing library (i.e., a “base library”). When a base library is selected,\nits point-in-time settings and permissions are copied to the new library.\n\nThe following system libraries can be selected as base libraries:\n\n* MindBridge for-profit\n* MindBridge not-for-profit\n* MindBridge not-for-profit with funds\n* MindBridge review\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Organizations",
            "description": "**Organizations** represent each business/client/company/entity that you analyze with MindBridge. Organizations house all of your client’s\nengagements (audit/analysis), account mappings, and any other data imported into MindBridge for that client.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Populations",
            "description": "**Populations** allow users to group entries within an analysis to support more efficient sampling. Unique populations can be defined within\nlibraries, engagements, and analyses, and can be used to surface or exclude groups of entries from the analysis results.\n\nSome fields (below) within population entities may only be defined for populations depending on their parent entity.\n\nLibrary populations:\n\n- `libraryId`\n\nEngagement populations:\n\n- `engagementId`\n- `derivedFromLibrary`\n- `disabledForAnalysisIds`\n- `promotedFromAnalysisId`\n\nAnalysis populations:\n\n- `analysisId`\n- `derivedFromEngagement`\n\nEach population inherits permissions from its parent entity type. In order to access library, engagement, and analysis populations, you will\nneed to be able to access libraries, engagements, and analyses respectively. If the API token does not provide sufficient access, those\npopulations will be excluded from `GET` and /`query` results.\n\n### Population conditions\n\nPopulations use the same condition format as saved filters. Please refer to the saved filters documentation for a description on how the\ncondition formats work.\n\nPopulation conditions have additional restrictions in addition to those applied to saved filters:\n\n- The following fields cannot be used as part of a population condition: `populations`, `account_tags_decreasing`,\n  `account_tags_increasing`, `status` and `risk_range`.\n- Populations can only be applied to general ledger analysis types.\n\nUnlike filters, populations are validated on creation and when updated. A create or update to a population condition that doesn't align with\nthe analysis' data table definition will fail.\n\nAdditionally, unlike filters, populations can only be applied to general ledger entries, not transactions.\n\nSimilar to filters, populations include the fields `legacyFilterFormat`, `displayCurrencyCode` and `displayLocale`, which function in the\nsame way as they do for saved filters.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Reporting Period Configuration",
            "description": "**Reporting period configurations** allow users to define specific reporting periods for analyses.\n\nCreating a reporting period configuration requires both monthly and weekly reporting periods to refer to the same date ranges.\n\nThe monthly reporting period entries should include the period number, quarter number, the year, start date, and end date for each period.\nSimilarly, the weekly reporting period entries should contain the week number, year, start date, and end date.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Risk Ranges",
            "description": "Risk ranges are customized scoring parameters for grouping risk scores into low, medium, and high risk range bounds.\n\nEach risk range bound has a low threshold and a high threshold. These values represent percentage values with two-decimal precision. The thresholds are\n`PERCENTAGE_FIXED_POINT` values, which are percentages with two decimal places, represented as numbers from 0 to 10,000. For more details on this data format,\nrefer to the Data Formats section of the API reference.\n\nYou are not required to utilize all risk range bounds, however you must define at least two ranges. The values must be continuous with no gaps, and no\noverlapping values. If a low risk range has a high threshold of 15% (represented as `1500`), the low threshold of the next risk range must start at 15.01% (\nrepresented as `1501`).\n\nRisk ranges are designed to be used in conjunction with analysis type configurations.\n\nRisk ranges can only be added to libraries, and are copied onto new engagements that select the library when created. Once copied to the engagement, the risk\nrange can no longer be updated.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Saved Filters",
            "description": "**Saved Filters** are used to filter data tables in order to easily and repeatedly extract insights on large sets of data. The saved filters\nendpoint allows for easy creation and management of saved filters, and validation of the applicability of filters across different data\ntables and even across engagements and organizations.\n\nSaved filters contain **conditions**, which are definitions on how the filter applies constraints on the underlying data table. These\nconditions contain a field, type and various parameters depending on the condition type.\n\nThe field can either specify a column in the data table (with some constraints), or a special case field name, which provides the ability to\nfilter the data table on features of the dataset that are not represented by a specific column.\n\nThe condition type determines how the data will be filtered. Which types can be applied depends on the data table's column type and other\nproperties. For special case filters the type parameters depend on the underlying data table and analysis features. See the *Condition\nTypes* section for more details.\n\nSaved filters can be used to filter general ledger, accounts payable, and accounts receivable analyses. They cannot be used as part of\ncustom analysis types.\n\n### Validation\n\nSaved filters are different from other entities in the MindBridge API in that the filter conditions are not immediately validated upon\ncreation. This is because they may or may not be applicable to different target data tables based on the analysis features and the column\npresent in the data table, and their types. To validate whether a given filter is compatible on a target data table a `/validate` endpoint\nis provided, which will return a list of errors and warnings explaining incompatibilities between the provided filter and the target data\ntable.\n\n### Display fields\n\nSaved Filter conditions include various fields that are used in generating a description of the filter for each condition. This description\nis visible in the web application and presents the filter in plain English.\n\nIn the web application, filters can only be created in either a library or analysis context, and have immediate context with which to base\nthe display fields on. The API doesn't require this context, and can therefore create filters in contexts the web application can't, such as\non an organization or engagement without any analyses. In order to generate a sensible filter description for use in the web application,\nusers of the API can optionally provide these values, and verify if they align with a target data table using the `/validate` endpoint.\n\n### Filter types\n\nFilters can be of one of four types:\n\n`LIBRARY`, `ORGANIZATION`, `ENGAGEMENT` and `PRIVATE`\n\nLibrary, organization, and engagement types determine which parent entity type the filter is stored under, and in some cases restrict which\nfields can be used on those filters.\n\nPrivate filters function like organization filters, but they are only accessible by the user that created them. This also applies to the API\nusers, who can only see private filters created by that same token user. The API cannot be used to access private filter created by other\nusers, including other token users.\n\n### Filter data type\n\nFilter data type is used to determine what kind of data the filter intends to target, and can be set to the values: `TRANSACTION_FILE`,\n`ENTRIES_FILE` or `LIBRARY_ADMIN_TABLE`.\n\nThe `TRANSACTION_FILE` value corresponds to the transactions data table in a general ledger analysis.\n\nThe `ENTRIES_FILE` corresponds to a general ledger, accounts payable and accounts receivable entries tables.\n\n### Disallowed fields\n\nThe following fields cannot be used as conditions:\n\n- `account`, if the analysis is a general ledger analysis\n- `accounts` or `mac_hierarchy`, if the data table column type is `ARRAY_STRINGS`\n- `txid`, `rowid` or `matched_entry_id`, if the data table column type is `INT64`\n- `total_amt`, if the data table column type is `MONEY_100`\n- `invoice_paid_zero_date`, if the data table column type is `DATE_TIME`\n- Any data table column whose field name starts with \"`cp_score_`\"\n- Any data table column whose field name starts with \"`risk`\", and has data table column type `PERCENTAGE_FIXED_POINT`\n- Any column that does not have a data table column type of `KEYWORD_SEARCH` or `LEGACY_ACCOUNT_TAG_EFFECTS`, and without one of\n  `equalitySearch`, `rangeSearch` and `containsSearch` being `true`\n\n### Condition types\n\nCondition's types are determined by their `type` field. Some condition types also contain subtypes, which further determine what fields are\nrequired to configure them.\n\nBroadly there are 2 types of conditions: Group type conditions, and value conditions.\n\nGroup conditions don't require a field or other properties, and instead contain a sub-list of conditions that are applied against the data\ntable entries.\n\nValue conditions filter a specific field and cover all other condition types other than `GROUP`. In addition to `field` they have the\nfollowing properties:\n\n- `fieldLabel` - An optional display name for the field which is used in the full condition description.\n- `negated` - When `true` the condition will instead exclude any entry that matches the condition from the result.\n- `fullConditionDescription` - A description of the filter in plain English, using the provided display values such as `fieldLabel` and\n  others.\n\n#### `GROUP` type conditions\n\nGroup conditions, also known as rules, don't require a field, and contain both an operator and a list of conditions. The operation can be\neither `AND` or `OR`, and the condition will match records that meet all or any of the conditions, depending on the operator. Group\nconditions can be nested, and the value of the `condition` field on a saved filter must be a group condition, though it can be either type.\n\n```json\n{\n  \"type\": \"GROUP\",\n  \"operator\": \"AND\",\n  \"conditions\": [\n    ...\n  ]\n}\n```\n\n#### `STRING` type conditions\n\nString type conditions compare a field against a specific string value. This condition can only be applied to the following special case\nfields:\n\n| **Field**        | **Name**        | **Allowed Values**                                                                                                                    | **Notes**                                |\n|------------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------|\n| `accountScoping` | Account Scoping | SIGNIFICANT, INSIGNIFICANT, UNSCOPED                                                                                                  | Only allowed on general ledger analyses. |\n| `riskGroup`      | Risk Group      | Not `GENERAL` or `MindBridge Score`<br/><br/>ASSETS, LIABILITIES_EQUITY, PROFIT_LOSS, or any custom account group by `category` name. | Only allowed on general ledger analyses. |\n\n#### `STRING_ARRAY` type conditions\n\nString array conditions compare the field against a set of string values. It can be applied to any data table column with the following\nproperties:\n\n- Data table column type is `STRING` and `caseInsensitivePrefixSearch` is `true`.\n- Data table column type is `KEYWORD_SEARCH`.\n\n#### `CONTROL_POINT` type conditions\n\nControl point conditions match a set of selected control points within their respective high, medium and low risk scores.\n\nThe control point type can only be used with the field `cp_failed` and when the data table column type is `BOOLEAN_FLAGS`.\n\nThe `riskLevel` property can be set to `HIGH_RISK`, `MEDIUM_RISK` or `LOW_RISK`.\n\nThe `controlPoints` contains a list of control point selection models, with the following properties:\n\n- `id` - The unique ID of the control point prefixed with `custom_`, in the case of custom control points, or the symbolic name, in the case\n  of MindBridge control points.\n- `name` - The display name of the control point. Optional.\n- `symbolicName` - The symbolic name of the control point. In the case of custom control points it must be the symbolic name of the\n  underlying MindBridge control point.\n- `isRulesBased` - Must be `true` if the target control point is rules based. Rules based control points can only have high and low risk\n  values, and therefore cannot be selected with a `riskLevel` of `MEDIUM_RISK`.\n\nHere is an example of both a MindBridge and a custom control point:\n\n```json\n{\n  \"type\": \"CONTROL_POINT\",\n  \"field\": \"cp_failed\",\n  \"fieldLabel\": \"Control point\",\n  \"negated\": false,\n  \"riskLevel\": \"HIGH_RISK\",\n  \"controlPoints\": [\n    {\n      \"id\": \"custom_682fab332f732c4d0b8d1ced\",\n      \"name\": \"Expert Rules - Example Custom Control Point\",\n      \"symbolicName\": \"journal_entry_flat_expert_flow_v2\",\n      \"rulesBased\": false\n    },\n    {\n      \"id\": \"journal_entry_two_digit_benford_v2\",\n      \"name\": \"2 Digit Benford\",\n      \"symbolicName\": \"journal_entry_two_digit_benford_v2\",\n      \"rulesBased\": false\n    }\n  ]\n}\n```\n\n#### `ACCOUNT_NODE_ARRAY` type conditions\n\nAccount node array type conditions match an entry if it's within an account group or specific account code within varying contexts.\n\nThis condition type can only be used for general ledger analyses.\n\nThe following fields use the account node array type:\n\n| **Field**                 | **Name**           | **Notes**                                                                                                                                      |\n|---------------------------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------|\n| `account_hierarchy_codes` | Account            | Matches if the entry is associated with an account within the selection of accounts.                                                           |\n| `increasingCredits`       | Increasing Credits | Matches if the entry is associated with an account within the selection of accounts and the credit value within those accounts are increasing. |\n| `increasingDebits`        | Increasing Debits  | Matches if the entry is associated with an account within the selection of accounts and the debit value within those accounts are increasing.  |\n\nBoth `increasingCredits` and `increasingDebits` are special case fields and can be used even if they are not present as data table columns.\n\nWhen using an `ACCOUNT_NODE_ARRAY` condition a list of account selections must be provided with the following properties:\n\n- `name` - The display name of the account. Optional.\n- `code` - The account group or account ID of the account.\n- `useAccountId` - If `true` the condition should match the account id from the account mapping instead of the account group ID for this\n  selection.\n\nHere is an example of a condition that matches both an account group and a mapped account:\n\n```json\n{\n  \"type\": \"ACCOUNT_NODE_ARRAY\",\n  \"field\": \"increasingCredits\",\n  \"fieldLabel\": \"Increasing credits\",\n  \"negated\": false,\n  \"accountSelections\": [\n    {\n      \"name\": \"Assets\",\n      \"code\": \"1000\",\n      \"useAccountId\": false\n    },\n    {\n      \"name\": \"Accounts Payable\",\n      \"code\": \"21011\",\n      \"useAccountId\": true\n    }\n  ]\n}\n```\n\n#### `TYPEAHEAD_ENTRY` type condition\n\nThe typeahead entry type condition can be used to match one or more string values within a known set of allowed values. They are used both\nto filter columns that have been mapped to certain MindBridge field and additional columns marked as filterable. There are also additional\nspecial case field that can be used for various purposes.\n\n| **Field**                     | **Name**                | **Notes**                                                                               |\n|-------------------------------|-------------------------|-----------------------------------------------------------------------------------------|\n| `status`                      | Status                  | Matches entries which contain corresponding tasks with the selected statuses.           |\n| `memo`                        | Suspicious keyword      | Allowed values are from the Suspicious keyword control point.                           |\n| `entriesFundRestriction`      | Fund restriction        | Allowed values are `restricted`, `unrestricted` and `none`                              |\n| `transactionsFundRestriction` | Fund restriction        | Allowed values are `restricted`, `unrestricted`, `both` and `none`                      |\n| `account_tags_increasing`     | Increasing account tags | Matches entries whose accounts using the provided account tags have increased in value. |\n| `account_tags_decreasing`     | Decreasing account tags | Matches entries whose accounts using the provided account tags have decreased in value. |\n\nIn addition to the above field, any data table column with the type `STRING` or `ARRAY_STRINGS` and an ID set for `typeaheadDataTableId` can\nbe used in a typeahead entry condition. The allowed values for typeahead based fields are any of the values present in the column. Typeahead\ncolumn values are not currently validated, so no warnings will be produced if a value that is not present in the column is used as an entry.\n\nA value selection for a typeahead entry has three properties: `lookupId`, which is the value being selected, `displayName`, which is the\ndisplay name of the underlying value, and `hideLookupId`, which hides the lookup ID when displaying the full display name.\n\nHere is an example of a typeahead entry condition:\n\n```json\n{\n  \"type\": \"TYPEAHEAD_ENTRY\",\n  \"field\": \"entriesFundRestriction\",\n  \"fieldLabel\": \"Fund restriction\",\n  \"negated\": false,\n  \"values\": [\n    {\n      \"lookupId\": \"none\",\n      \"displayName\": \"No fund information\",\n      \"hideLookupId\": true\n    },\n    {\n      \"lookupId\": \"restricted\",\n      \"displayName\": \"Restricted funds\",\n      \"hideLookupId\": true\n    }\n  ]\n}\n```\n\n#### `POPULATIONS` type condition\n\nThe populations type condition matches any entries that are within the provided populations.\n\nPopulation type conditions can only be used in general ledger analyses, and can only be used in saved filters at the analysis level.\n\nPopulations type conditions must use the special case field `population`. Population type conditions can only be applied to general ledger\nanalyses.\n\nTo include a population in the condition it simply needs to be added to the `populationIds` field. In addition to IDs, population category\nnames can be present in the population IDs list for display purposes.\n\nHere is an example of a populations filter:\n\n```json\n{\n  \"type\": \"POPULATIONS\",\n  \"field\": \"population\",\n  \"fieldLabel\": \"Population\",\n  \"negated\": false,\n  \"populationIds\": [\n    \"Custom Category\",\n    \"67d06587edfa507f5e80c7c2\"\n  ]\n}\n```\n\n#### `RISK_SCORE` type condition\n\nA risk score condition matches entries whose risk score falls within the constraints configured in the condition.\n\nThe specific risk score being tested is selected by setting the `riskScoreId` field to the field of the target risk score, as found in the\ndata table column metadata.\n\nRisk scores are used on the special case fields `riskScoresHml` or `riskScoresPercentage`, depending on the library configuration for the\nanalysis. Additionally, the `riskScoreType` must be set to `HML` or `PERCENT` accordingly.\n\nFor HML type risk score conditions a set of the values `HIGH`, `MEDIUM`, `LOW` or `UNSCORED`, which match entries that fall within the\nconfigured risk range for the selected risk score.\n\nHere is an example of a HML risk score filter on a custom risk score:\n\n```json\n{\n  \"type\": \"RISK_SCORE\",\n  \"field\": \"riskScoresHml\",\n  \"fieldLabel\": \"Risk score\",\n  \"negated\": false,\n  \"riskScoreType\": \"HML\",\n  \"riskScoreId\": \"risk_67d2f16d9ffead02b4f54aad\",\n  \"riskScoreLabel\": \"My custom risk score\",\n  \"values\": [\n    \"MEDIUM\",\n    \"UNSCORED\"\n  ]\n}\n```\n\nFor percentage risk score conditions a `riskScorePercentType` of `MORE_THAN`, `LESS_THAN`, `BETWEEN`, `CUSTOM_RANGE` or `UNSCORED` is set.\nThese determine how the rule will be applied, and which parameters can be set.\n\nFor `UNSCORED` only entries that haven't been scored are matched.\n\nFor `MORE_THAN` and `LESS_THAN`, a `value` parameter must be set with a number from 0 to 10,000, representing a percentage between 0% to\n100%, and matching entries with scores above or below the specified value.\n\nFor `CUSTOM_RANGE` a pair of percentage values `rangeStart` and `rangeEnd` are set. Any entries whose score falls between the values will be\nmatched.\n\n`BETWEEN` is functionally equivalent to custom range, with the restriction that the `rangeStart` and `rangeEnd` must equal the start and end\nvalues of one of the risk score's risk range entries (high, medium or low risk). In the web application this is represented as the user\nselecting an existing risk range, rather than manually entering a pair of percentages as custom range requires.\n\nHere is an example of a percentage risk score filter:\n\n```json\n{\n  \"type\": \"RISK_SCORE\",\n  \"field\": \"riskScoresPercentage\",\n  \"fieldLabel\": \"Risk score\",\n  \"negated\": false,\n  \"riskScoreType\": \"PERCENT\",\n  \"riskScoreId\": \"risk\",\n  \"riskScoreLabel\": \"MindBridge score\",\n  \"riskScorePercentType\": \"MORE_THAN\",\n  \"value\": 0\n}\n```\n\n#### `MONETARY_FLOW` type condition\n\nThe `MONETARY_FLOW` type condition matches entries that are part of a monetary flow corresponding to the filter's configuration.\n\nThis condition type can only be used in general ledger analyses.\n\nOnly the special case field `monetarySpecificFlow` can be used with this condition type.\n\nThe property `monetaryFlowType` must be set to one of the following values, which determine what kind of flow to include entries from:\n`SIMPLE_FLOW`, `COMPLEX_FLOW` or `SPECIFIC_FLOW`.\n\nFor simple and complex flow values, entries that are part of simple account to account flows, or flows that are too complex to assign to an\naccount are included.\n\nFor specific flows a pair of credit and debit account selections, `creditAccount` and `debitAccount` accordingly are set. These use the same\nparameters as the account node array condition. In addition, the code may be set to `complex` to match flows whose credit or debit account\nis\ndetermined to be too complex to match.\n\nAdditionally for specific flows a value for `specificMonetaryFlowType` must be set, which further filters the entries based on the specific\nvalue of the flow. The following values can be used:\n\n- `SPECIFIC_VALUE` - by setting the `value` field to a currency amount only entries whose flow amount matches the value exactly will be\n  matched.\n\n- `MORE_THAN` - by setting the `value` field to a currency amount only entries where the flow value exceeds that amount will be matched.\n\n- `BETWEEN` - a pair of `rangeStart` and `rangeEnd` values only entries whose value is between the specified currency amounts.\n\nCurrency amounts are expressed as integers, and do not include decimal places. They follow the same formatting rules as `MONEY_100` fields.\nSee the *Data Formats* section for more information.\n\nHere is an example of a monetary flow condition:\n\n```json\n{\n  \"type\": \"MONETARY_FLOW\",\n  \"field\": \"monetarySpecificFlow\",\n  \"fieldLabel\": \"Monetary flow\",\n  \"negated\": false,\n  \"monetaryFlowType\": \"SPECIFIC_FLOW\",\n  \"creditAccount\": {\n    \"name\": \"Flows too complex to determine a match\",\n    \"code\": \"complex\",\n    \"useAccountId\": false\n  },\n  \"debitAccount\": {\n    \"name\": \"Operational assets\",\n    \"code\": \"1100\",\n    \"useAccountId\": false\n  },\n  \"specificMonetaryFlowType\": \"BETWEEN\",\n  \"rangeStart\": 0,\n  \"rangeEnd\": 1037979412\n}\n```\n\n#### `MONEY` type condition\n\nThe money type condition matches entries whose value for the provided field is within the configured bounds of the condition.\n\nThe money type condition can be applied to any field with a data table column type of `MONEY_100`.\n\nThe following `monetaryValueType` values can be used to configure how the entries are matched:\n\n- `MORE_THAN` - Matches entries whose value is more than the configured `value` field.\n- `LESS_THAN` - Matches entries whose value is less than the configured `value` field.\n- `SPECIFIC_VALUE` - Matches entries whose value is equal to the configured `value` field.\n- `BETWEEN` - Matches entries whose value is between the provided `rangeStart` and `rangeEnd` values.\n\nThe values for `value`, `rangeStart` and `rangeEnd` follow the same formatting rules as the `MONEY_100` data type.\n\nHere is an example of a money type condition:\n\n```json\n{\n  \"type\": \"MONEY\",\n  \"field\": \"bs_delta\",\n  \"fieldLabel\": \"Balance sheet impact\",\n  \"negated\": false,\n  \"monetaryValueType\": \"MORE_THAN\",\n  \"value\": 0\n}\n```\n\n#### `MATERIALITY` type condition\n\nThe materiality type condition matches entries that are above, below or above a percentage of the threshold.\n\nThe materiality type condition can be applied to general ledger analyses with a materiality judgment value set, and can only be applied to\nthe special case `materiality` field.\n\nThe following `materialityOption` values can be used to configure how the entries are matched:\n\n- `ABOVE` - Matches entries whose value is above the materiality threshold.\n- `BELOW` - Matches entries whose value is below the materiality threshold.\n- `PERCENTAGE` - Matches entries whose value is above a percent of the materiality threshold. The percent is a decimal number set in the\n  `value` field, and can be greater than 100%.\n\nHere is an example of a materiality type condition, and represents a percentage value of 110.25%:\n\n```json\n{\n  \"type\": \"MATERIALITY\",\n  \"field\": \"materiality\",\n  \"fieldLabel\": \"Materiality\",\n  \"negated\": false,\n  \"materialityOption\": \"PERCENTAGE\",\n  \"value\": 110.25\n}\n```\n\n#### `NUMERICAL` type condition\n\nThe numerical type condition matches entries whose value for the provided field is within the configured bounds of the condition.\n\nThis condition can be applied to any field with a data table column types of `INT32`, `INT64`, `FLOAT32` and `FLOAT64`.\n\nThe following `numericalValueType` values can be used to configure how the entries are matched:\n\n- `MORE_THAN` - Matches entries whose value is more than the configured `value` field.\n- `LESS_THAN` - Matches entries whose value is less than the configured `value` field.\n- `SPECIFIC_VALUE` - Matches entries whose value is equal to the configured `value` field.\n- `BETWEEN` - Matches entries whose value is between the provided `rangeStart` and `rangeEnd` values.\n\nHere is an example of a numerical type condition:\n\n```json\n{\n  \"type\": \"NUMERICAL\",\n  \"field\": \"entries_count\",\n  \"fieldLabel\": \"Entries count\",\n  \"negated\": false,\n  \"numericalValueType\": \"MORE_THAN\",\n  \"value\": 0\n}\n```\n\n#### `DATE` type condition\n\nThe date type condition matches entries whose value for the provided field is within the configured bounds of the condition.\n\nThe numerical type condition can be applied to any field with a data table column types of `DATE` and `DATE_TIME`.\n\nThe following `numericalValueType` values can be used to configure how the entries are matched:\n\n- `AFTER` - Matches entries whose value is more than the configured `value` field.\n- `BEFORE` - Matches entries whose value is less than the configured `value` field.\n- `SPECIFIC_VALUE` - Matches entries whose value is equal to the configured `value` field.\n- `BETWEEN` - Matches entries whose value is between the provided `rangeStart` and `rangeEnd` values.\n\nThe values for `value`, `rangeStart` and `rangeEnd` should be expressed as ISO date strings, without a timestamp or timezone.\n\nHere is an example of a date type condition:\n\n```json\n{\n  \"type\": \"DATE\",\n  \"field\": \"effective_date\",\n  \"fieldLabel\": \"Effective date\",\n  \"negated\": false,\n  \"dateType\": \"SPECIFIC_VALUE\",\n  \"value\": \"2010-01-01\"\n}\n```\n\n### Legacy filters\n\nSaved filters with the `legacyFilterFormat` field set to `true` are using a legacy format which is not supported by the API, and will have\ntheir `condition` property set to `null`.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Task History",
            "description": "**Task Histories** are the history entries related to an individual task within the system.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Tasks",
            "description": "**Tasks** are data table transactions or entries that have been added to the audit plan for further investigation.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Transaction ID Previews",
            "description": "**Transaction ID previews** contain the data behind our transaction ID generation and analysis system. In this object, analytic data about a proposed transaction ID is provided to guide the selection of the most appropriate, granular transaction ID, with as few single-entry transactions as possible. An appropriate transaction ID enables MindBridge’s analytics engine to detect anomalies that are more relevant and insightful.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Users",
            "description": "**Users** generally represent you and your team and can be assigned to various roles and tasks within the platform. Users may also represent\nMindBridge Customer Support staff who are active in customer assistance requests, as well as portal users when connecting integrations and\nAPI Token Users.\n\n### User roles\n\nUser roles determine which actions a user can perform within MindBridge.\n\n| Role ID                                         | User Role            | Description                                                                                                                                                                                                                                      |\n|-------------------------------------------------|----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ROLE_ADMIN                                      | App Admin            | App Admins have full access to the MindBridge tenant. They can invite and manage users, and view/edit all organizations and engagements.                                                                                                         |\n| ROLE_USER_ADMIN                                 | User Admin           | User Admins can invite and manage tenant users, and create new organizations.                                                                                                                                                                    |\n| ROLE_ORGANIZATION_ADMIN                         | Organization Creator | Organization Creators have the same privileges as users, but can also create new organizations.                                                                                                                                                  |\n| ROLE_USER                                       | User                 | Users can be invited to existing organizations and engagements, but they cannot create new organizations.                                                                                                                                        |\n| ROLE_CLIENT                                     | Client               | Clients must be [invited to connect](https://support.mindbridge.ai/hc/en-us/articles/1500001350402) to MindBridge. Once the client account has been activated via email, access is limited to the page that allows them to set up a data source. |\n| ROLE_MINDBRIDGE_SUPPORT                         | MindBridge Support   | MindBridge Support accounts have limited access to engagements, enabling them to assist with specific support requests.                                                                                                                          |\n| * ROLE_ADMIN and `serviceAccount` equals `true` | API Token User       | API Token Users are non-human user accounts linked to unique API tokens. Any action that an API takes will be attributed to this user account.                                                                                                   |\n\n### Enabling and disabling users\n\nThe `enabled` property can be used to enable and disable user accounts within a single tenant. If a user’s account is _disabled_, they will\nno longer have access to the tenant until they are _enabled_.\n\n**Note:** A user who is disabled in one tenant will still be able to access other tenants where they are enabled.\n\n### Account activation emails\n\nWhen a new user is created, they will be sent an **account activation email**. This email contains a link they must use to activate their\naccount. Until the account is activated, the user will not be able to sign in.\n\nActivation links expire after 7 days, but additional account activation emails can be sent using the `Resend Activation Link` endpoint.\n\nWhen a user who is `disabled` becomes `enabled` again, they will be sent an activation email. These users must use the account activation\nlink before they can sign in.\n\n### API token permissions\n\nThe following table details the actions that users of the API may be permitted to take:\n\n| Role                 | Read | Query | Create | Update user enabled status | Update user role | Can update role to | Delete | Can be sent account activation emails |\n|----------------------|:----:|:-----:|:------:|:--------------------------:|:----------------:|:------------------:|:------:|:-------------------------------------:|\n| App Admin            |  ✅   |   ✅   |   ✅    |             ❌              |        ❌         |         ✅          |   ❌    |                   ✅                   |\n| User Admin           |  ✅   |   ✅   |   ✅    |             ✅              |        ✅         |         ✅          |   ✅    |                   ✅                   |\n| Organization Manager |  ✅   |   ✅   |   ✅    |             ✅              |        ✅         |         ✅          |   ✅    |                   ✅                   |\n| User                 |  ✅   |   ✅   |   ✅    |             ✅              |        ✅         |         ✅          |   ✅    |                   ✅                   |\n| Client               |  ✅   |   ✅   |   ❌    |             ✅              |        ❌         |         ❌          |   ✅    |                   ✅                   |\n| MindBridge Support   |  ✅   |   ✅   |   ❌    |             ❌              |        ❌         |         ❌          |   ❌    |                   ❌                   |\n| API Token            |  ✅   |   ✅   |   ❌    |             ❌              |        ❌         |         ❌          |   ❌    |                   ❌                   |\n\nApp Admins cannot be deleted, nor have their roles updated. This restriction prevents an API token from accidentally locking out a\nlegitimate administrator, resulting in the loss of administration to the entire tenant.\n\nMindBridge Support and API Token Users cannot be created, updated, deleted or sent account activation emails to. These accounts are\nautomatically managed by support access requests and API tokens accordingly.\n\nClient users serve a special purpose and cannot be created, nor have their roles updated. These users can only provide access to an\nintegration service.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Webhook event logs",
            "description": "The webhook event logs provide a way to track events as they are sent by the system, and allow the user\nto help track messages, or diagnose issues with webhooks.\n\nSee the webhooks documentation for more information on receiving webhooks, or the webhook section for information\nabout the webhooks themselves.\n",
            "x-tag-expanded": "false"
        },
        {
            "name": "Webhooks",
            "description": "The webhooks entity provides a way to configure webhook integrations with other systems. Once created and active webhooks will send event payloads to the configured URL.\n\nSee the webhooks documentation for more information on receiving webhooks.\n",
            "x-tag-expanded": "false"
        }
    ],
    "paths": {
        "/v1/webhooks/{webhookId}": {
            "get": {
                "tags": ["Webhooks"],
                "summary": "Read Webhook",
                "description": "Read an existing Webhook, identified by its ID.\n\n### Permissions\n- `api.webhooks.read`",
                "operationId": "readWebhook",
                "parameters": [{ "name": "webhookId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhook_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Webhooks"],
                "summary": "Update Webhook",
                "description": "Update an existing webhook, identified by its ID.\n\n### Permissions\n- `api.webhooks.write`",
                "operationId": "updateWebhook",
                "parameters": [{ "name": "webhookId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhook_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhook_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Webhooks"],
                "summary": "Delete Webhook",
                "description": "Delete an existing **Webhook**.\n\n### Permissions\n- `api.webhooks.delete`",
                "operationId": "deleteWebhook",
                "parameters": [{ "name": "webhookId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/users/{userId}": {
            "get": {
                "tags": ["Users"],
                "summary": "Read User",
                "description": "Read an existing user, identified by its ID.\n\n### Permissions\n- `api.users.read`",
                "operationId": "readUser",
                "parameters": [{ "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Users"],
                "summary": "Update User",
                "description": "Update an existing user, identified by their user ID.\n\nOnly the `enabled` and `role` properties can be updated, with some exceptions.\n\nThe `enabled` property cannot be changed for users with the following roles:\n- `ROLE_ADMIN`\n- `ROLE_MINDBRIDGE_SUPPORT`\n- API Token Users with the `serviceAccount` property set to `true`\n\nThe `role` property cannot be changed for users with the following roles:\n- `ROLE_ADMIN`\n- `ROLE_CLIENT`\n- `ROLE_MINDBRIDGE_SUPPORT`\n- API Token Users with the `serviceAccount` property set to `true`\n\n### Rate limit\n\nThis endpoint is subject to a maximum limit of 100 requests per hour. Once the limit is exceeded, the `X-User-Hour-Limit-Remaining` response\nheader will be set, and it’s value will indicate the number of seconds until the rate limit resets.\n\n**Note:** This rate limit is shared with the `Create User` and `Resend activation email` endpoints. Once the limit is reached, subsequent calls to\nany of these endpoints will fail until the rate limit resets.\n\n### Permissions\n- `api.users.write`",
                "operationId": "updateUser",
                "parameters": [{ "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Users"],
                "summary": "Delete User",
                "description": "Delete an existing user, identified by its ID.\n\nUsers with the following roles cannot be deleted:\n\n- `ROLE_ADMIN`\n- `ROLE_MINDBRIDGE_SUPPORT`\n- API Token Users with the `serviceAccount` property set to `true`\n\n### Permissions\n- `api.users.delete`",
                "operationId": "deleteUser",
                "parameters": [{ "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/tasks/{taskId}": {
            "get": {
                "tags": ["Tasks"],
                "summary": "Read Task",
                "description": "Read an existing task, identified by its ID.\n\n### Permissions\n- `api.tasks.read`",
                "operationId": "readTask",
                "parameters": [{ "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Tasks"],
                "summary": "Update Task",
                "description": "Update an existing task, identified by its ID.\n\n### Permissions\n- `api.tasks.write`",
                "operationId": "updateTask",
                "parameters": [{ "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Tasks"],
                "summary": "Delete Task",
                "description": "Delete an existing task, identified by its ID.\n\n### Permissions\n- `api.tasks.delete`",
                "operationId": "deleteTask",
                "parameters": [{ "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/saved-filters/{filterId}": {
            "get": {
                "tags": ["Saved Filters"],
                "summary": "Read Saved Filter",
                "description": "Read a saved filter, identified by its ID.\n",
                "operationId": "readSavedFilter",
                "parameters": [{ "name": "filterId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilter_Read" } } }
                    }
                }
            },
            "put": {
                "tags": ["Saved Filters"],
                "summary": "Update Saved Filter",
                "description": "Update a saved filter, identified by its ID.\n\n### Permissions\n- `api.filters.write`",
                "operationId": "updateSavedFilter",
                "parameters": [{ "name": "filterId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilter_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilter_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Saved Filters"],
                "summary": "Delete Saved Filter",
                "description": "Delete a saved filter, identified by its ID.\n\n### Permissions\n- `api.filters.delete`",
                "operationId": "deleteSavedFilter",
                "parameters": [{ "name": "filterId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/risk-ranges/{riskRangesId}": {
            "get": {
                "tags": ["Risk Ranges"],
                "summary": "Read Risk Range",
                "description": "Retrieve an existing set of risk ranges by its ID.\n\n### Permissions\n- `api.risk-ranges.read`",
                "operationId": "readRiskRange",
                "parameters": [{ "name": "riskRangesId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiRiskRanges_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Risk Ranges"],
                "summary": "Update Risk Range",
                "description": "Update an existing set of risk ranges by its ID.\n\n### Permissions\n- `api.risk-ranges.write`",
                "operationId": "updateRiskRange",
                "parameters": [{ "name": "riskRangesId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiRiskRanges_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiRiskRanges_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Risk Ranges"],
                "summary": "Delete Risk Range",
                "description": "Delete an existing set of risk ranges.\n\n### Permissions\n- `api.risk-ranges.delete`",
                "operationId": "deleteRiskRange",
                "parameters": [{ "name": "riskRangesId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/populations/{populationTagId}": {
            "get": {
                "tags": ["Populations"],
                "summary": "Read Population",
                "description": "Read an existing population, identified by its ID.\n\n### Permissions\n\n- `api.libraries.read`\n- `api.engagements.read`\n- `api.analyses.read`\n",
                "operationId": "readPopulation",
                "parameters": [{ "name": "populationTagId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPopulationTag_Read" } } }
                    }
                }
            },
            "put": {
                "tags": ["Populations"],
                "summary": "Update Population",
                "description": "Update an existing population, identified by its ID.\n\nEngagement populations cannot be updated.\n\n### Permissions\n\n- `api.libraries.write`\n- `api.analyses.write`\n",
                "operationId": "updatePopulation",
                "parameters": [{ "name": "populationTagId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPopulationTag_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPopulationTag_Read" } } }
                    }
                }
            },
            "delete": {
                "tags": ["Populations"],
                "summary": "Delete Population",
                "description": "Delete a population, identified by its ID.\n\nEngagement populations cannot be deleted.\n\n### Permissions\n\n- `api.libraries.delete`\n- `api.analyses.delete`\n",
                "operationId": "deletePopulation",
                "parameters": [{ "name": "populationTagId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } }
            }
        },
        "/v1/organizations/{organizationId}": {
            "get": {
                "tags": ["Organizations"],
                "summary": "Read Organization",
                "description": "Read an existing organization, identified by its ID.\n\n### Permissions\n- `api.organizations.read`",
                "operationId": "readOrganization",
                "parameters": [{ "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiOrganization_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Organizations"],
                "summary": "Update Organization",
                "description": "Update an existing organization, identified by its ID.\n\n### Permissions\n- `api.organizations.write`",
                "operationId": "updateOrganization",
                "parameters": [{ "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiOrganization_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiOrganization_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Organizations"],
                "summary": "Delete Organization",
                "description": "Delete an existing organization, identified by its ID.\n\n### Permissions\n- `api.organizations.delete`",
                "operationId": "deleteOrganization",
                "parameters": [{ "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/libraries/{libraryId}": {
            "get": {
                "tags": ["Libraries"],
                "summary": "Read Library",
                "description": "Read an existing library, identified by its ID.\n\n### Permissions\n- `api.libraries.read`",
                "operationId": "readLibrary",
                "parameters": [{ "name": "libraryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiLibrary_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Libraries"],
                "summary": "Update Library",
                "description": "Update an existing library, identified by its ID.\n\nRestrictions\n\n- System libraries cannot be updated.\n\n### Permissions\n- `api.libraries.write`",
                "operationId": "updateLibrary",
                "parameters": [{ "name": "libraryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiLibrary_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiLibrary_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Libraries"],
                "summary": "Delete Library",
                "description": "Delete an existing library, identified by its ID.\n\nRestrictions\n\n* System libraries cannot be deleted.\n* Libraries in use by engagements cannot be deleted.\n* Libraries that are used as the basis of other libraries cannot be deleted.\n\n### Permissions\n- `api.libraries.delete`",
                "operationId": "deleteLibrary",
                "parameters": [{ "name": "libraryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/{fileManagerEntityId}": {
            "get": {
                "tags": ["File Manager"],
                "summary": "Read File Manager Entity",
                "description": "Read an existing **file manager entity**, identified by its ID.\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "readFileManagerEntity",
                "parameters": [{ "name": "fileManagerEntityId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiFileManagerDirectory_Read" },
                                        { "$ref": "#/components/schemas/ApiFileManagerFile_Read" }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["File Manager"],
                "summary": "Update File Manager Entity",
                "description": "Update an existing **file manager entity**, identified by its ID.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "updateFileManagerEntity",
                "parameters": [{ "name": "fileManagerEntityId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    { "$ref": "#/components/schemas/ApiFileManagerDirectory_Update" },
                                    { "$ref": "#/components/schemas/ApiFileManagerFile_Update" }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiFileManagerDirectory_Read" },
                                        { "$ref": "#/components/schemas/ApiFileManagerFile_Read" }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["File Manager"],
                "summary": "Delete File Manager Entity",
                "description": "Delete an existing **file manager entity**, identified by its ID.\n\n### Permissions\n- `api.file-manager.delete`",
                "operationId": "deleteFileManagerEntity",
                "parameters": [{ "name": "fileManagerEntityId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagements/{engagementId}": {
            "get": {
                "tags": ["Engagements"],
                "summary": "Read Engagement",
                "description": "Read an existing engagement, identified by its ID.\n\n### Permissions\n- `api.engagements.read`",
                "operationId": "readEngagement",
                "parameters": [{ "name": "engagementId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagement_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Engagements"],
                "summary": "Update Engagement",
                "description": "Update an existing engagement, identified by its ID.\n\n### Permissions\n- `api.engagements.write`",
                "operationId": "updateEngagement",
                "parameters": [{ "name": "engagementId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagement_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagement_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Engagements"],
                "summary": "Delete Engagement",
                "description": "Delete an existing engagement, identified by its ID.\n\n### Permissions\n- `api.engagements.delete`",
                "operationId": "deleteEngagement",
                "parameters": [{ "name": "engagementId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groups/{engagementAccountGroupId}": {
            "get": {
                "tags": ["Engagement Account Groups"],
                "summary": "Read Engagement Account Group",
                "description": "Read an existing engagement account group, identified by its ID.\n\n### Permissions\n- `api.engagement-account-groupings.read`",
                "operationId": "readEngagementAccountGroup",
                "parameters": [{ "name": "engagementAccountGroupId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Engagement Account Groups"],
                "summary": "Update Engagement Account Group",
                "description": "Update an existing engagement account group by its ID.\n\nUpdates to existing engagement account groups must adhere to the following conditions:\n\n- Engagement account groups cannot be hidden or have their code changed if they are in use.\n- Updated codes must be unique within the engagement account grouping.\n- In order to ensure the integrity of the balance sheet and income statement MAC codes in the 1000, 2000, or 3000 range cannot be changed to\n  codes in the 4000 or 5000 range, and vice versa.\n- Engagement account groups that are part of a MAC account grouping cannot be updated.\n\n### Permissions\n- `api.engagement-account-groupings.write`",
                "operationId": "updateEngagementAccountGroup",
                "parameters": [{ "name": "engagementAccountGroupId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Engagement Account Groups"],
                "summary": "Delete Engagement Account Group",
                "description": "Delete an existing engagement account group by its ID.\n\nThe following restrictions apply when deleting engagement account groups:\n\n- Engagement account groups that are in use by an account mapping, or have child groups that are in use, cannot be deleted.\n- Engagement account groups derived from a library-level account grouping cannot be deleted.\n- Engagement account groups that are part of a MAC account grouping cannot be deleted.\n\n### Permissions\n- `api.engagement-account-groupings.write`",
                "operationId": "deleteEngagementAccountGroup",
                "parameters": [{ "name": "engagementAccountGroupId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "200": { "description": "OK" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/databricks-auth": {
            "put": {
                "tags": ["Databricks Authorization"],
                "summary": "Update Databricks Authorization",
                "description": "Update an existing Databricks authorization.\n\n### Permissions\n\n- `api.connections.write`\n",
                "operationId": "updateDatabricksAuthorization",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Read" } } }
                    }
                }
            },
            "post": {
                "tags": ["Databricks Authorization"],
                "summary": "Create Databricks Authorization",
                "description": "Create a new Databricks authorization.\n\n### Permissions\n\n- `api.connections.write`\n",
                "operationId": "createDatabricksAuthorization",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Read" } } }
                    }
                }
            }
        },
        "/v1/data-catalog-entries/{dataCatalogEntryId}": {
            "get": {
                "tags": ["Data Catalog Entries"],
                "summary": "Read Data Catalog Entry",
                "description": "Read an existing data catalog entry, identified by its ID.\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n",
                "operationId": "readDataCatalogEntry",
                "parameters": [{ "name": "dataCatalogEntryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Read" },
                                        { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Read" }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": ["Data Catalog Entries"],
                "summary": "Update Data Catalog Entry",
                "description": "Update an existing data catalog entry, identified by its ID.\n\n### Permissions\n\n- `api.data-catalog-entries.write`\n",
                "operationId": "updateDataCatalogEntry",
                "parameters": [{ "name": "dataCatalogEntryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Update" },
                                    { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Update" }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Read" },
                                        { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Read" }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": ["Data Catalog Entries"],
                "summary": "Delete Data Catalog Entry",
                "description": "Delete an existing data catalog entry, identified by its ID.\n\n### Permissions\n\n- `api.data-catalog-entries.delete`\n",
                "operationId": "deleteDataCatalogEntry",
                "parameters": [{ "name": "dataCatalogEntryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } }
            }
        },
        "/v1/api-tokens/{apiTokenId}": {
            "get": {
                "tags": ["API Tokens"],
                "summary": "Read API Token",
                "description": "Read an existing API token, identified by its ID.\n\n### Permissions\n- `api.api-tokens.read`",
                "operationId": "readApiToken",
                "parameters": [{ "name": "apiTokenId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiApiToken_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["API Tokens"],
                "summary": "Update API Token",
                "description": "Update an existing API token, identified by its ID.\n\n### Permissions\n- `api.api-tokens.write`",
                "operationId": "updateApiToken",
                "parameters": [{ "name": "apiTokenId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiApiToken_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiApiToken_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["API Tokens"],
                "summary": "Delete API Token",
                "description": "Delete an existing API token, identified by its token ID.\n\nThis will de-authorize the token and automatically delete the associated API Token User.\n\n### Permissions\n- `api.api-tokens.delete`",
                "operationId": "deleteApiToken",
                "parameters": [{ "name": "apiTokenId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-type-configuration/{analysisTypeConfigurationId}": {
            "get": {
                "tags": ["Analysis Type Configuration"],
                "summary": "Read",
                "description": "Retrieve an existing analysis type configuration by its ID.\n\n### Permissions\n- `api.analysis-type-configuration.read`",
                "operationId": "read",
                "parameters": [{ "name": "analysisTypeConfigurationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisTypeConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Analysis Type Configuration"],
                "summary": "Update",
                "description": "Update an existing analysis type configuration by its ID.\n\nThe configurable properties of an analysis type configuration are grouped into Risk Groups. They can be configured as follows:\n\n- Risk groups can be enabled and disabled by setting the `disabled` property. Only engagement-level analysis type configuration can be\n  disabled.\n- The risk range for use by the risk group can be set by the `selectedRiskRange`, and must also be included in the list of\n  `applicableRiskRanges`.\n- A `filter` field can optionally be set to limit the risk group to only apply to a set of accounts, rather than all accounts.\n- The control point weights can be adjusted by setting the value of the `controlPointWeights` key-value map, where the key is the control\n  point's symbolic name. Setting a control point weight to `0` disables the control point within the risk group.\n\nAdditionally, analysis type configurations cannot be updated if:\n\n- The `system` or `template` properties are `true`.\n- The analysis type configuration is at the analysis level, with a defined `analysisId`.\n\n### Permissions\n- `api.analysis-type-configuration.write`",
                "operationId": "update",
                "parameters": [{ "name": "analysisTypeConfigurationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisTypeConfiguration_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisTypeConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-sources/{analysisSourceId}": {
            "get": {
                "tags": ["Analysis Sources"],
                "summary": "Read Analysis Source",
                "description": "Read an existing analysis source, identified by its ID.\n\n### Permissions\n- `api.analysis-sources.read`",
                "operationId": "readAnalysisSource",
                "parameters": [{ "name": "analysisSourceId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisSource_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Analysis Sources"],
                "summary": "Update Analysis Source",
                "description": "Update an existing analysis source, identified by its ID.\n\n### Permissions\n- `api.analysis-sources.write`",
                "operationId": "updateAnalysisSource",
                "parameters": [{ "name": "analysisSourceId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisSource_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Analysis Sources"],
                "summary": "Delete Analysis Source",
                "description": "Delete an existing analysis source, identified by its ID.\n\n### Permissions\n- `api.analysis-sources.delete`",
                "operationId": "deleteAnalysisSource",
                "parameters": [{ "name": "analysisSourceId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/{analysisId}": {
            "get": {
                "tags": ["Analyses"],
                "summary": "Read Analysis",
                "description": "Read an existing analysis, identified by its ID.\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "readAnalysis",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysis_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Analyses"],
                "summary": "Update Analysis",
                "description": "Update an existing analysis, identified by its ID.\n\nIf no `reportingPeriodConfigurationId` is provided, the existing value will be kept.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "updateAnalysis",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysis_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysis_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Analyses"],
                "summary": "Delete Analysis",
                "description": "Delete an existing analysis, identified by its ID.\n\n### Permissions\n- `api.analyses.delete`",
                "operationId": "deleteAnalysis",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-mappings/{accountMappingId}": {
            "get": {
                "tags": ["Account Mappings"],
                "summary": "Get Account Mapping",
                "description": "Read an existing account mappings, identified by its ID.\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "getAccountMapping",
                "parameters": [{ "name": "accountMappingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountMapping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Account Mappings"],
                "summary": "Update Account Mapping",
                "description": "Update an existing account mapping, identified by its ID.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "updateAccountMapping",
                "parameters": [{ "name": "accountMappingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountMapping_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountMapping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groups/{accountGroupId}": {
            "get": {
                "tags": ["Account Groups"],
                "summary": "Read Account Group",
                "description": "Read an existing account group, identified by its ID.\n\n### Permissions\n- `api.account-groupings.read`",
                "operationId": "readAccountGroup",
                "parameters": [{ "name": "accountGroupId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Account Groups"],
                "summary": "Update Account Group",
                "description": "Update an existing account group, identified by its ID.\n\n## Lowest level only properties\n\nThe following properties can only be set on the lowest-level category of each account group:\n\n- `macCode`\n- `accountTags`\n\n### Permissions\n- `api.account-groupings.write`",
                "operationId": "updateAccountGroup",
                "parameters": [{ "name": "accountGroupId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGroup_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groupings/{accountGroupingId}": {
            "get": {
                "tags": ["Account Groupings"],
                "summary": "Read Account Grouping",
                "description": "Read an existing account grouping, identified by its ID.\n\n### Permissions\n- `api.account-groupings.read`",
                "operationId": "readAccountGrouping",
                "parameters": [{ "name": "accountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGrouping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "put": {
                "tags": ["Account Groupings"],
                "summary": "Update Account Grouping",
                "description": "Update an existing account grouping, identified by its ID.\n\n**Note:** If LLM AG Mapping is enabled for the tenant, publishing the account grouping will automatically mark all suggested Mac Code mappings as Verified.\n\n### Permissions\n- `api.account-groupings.write`",
                "operationId": "updateAccountGrouping",
                "parameters": [{ "name": "accountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGrouping_Update" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGrouping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Account Groupings"],
                "summary": "Delete Account Grouping",
                "description": "Delete an existing account grouping, identified by its ID.\n\n### Permissions\n- `api.account-groupings.delete`",
                "operationId": "deleteAccountGrouping",
                "parameters": [{ "name": "accountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/webhooks": {
            "post": {
                "tags": ["Webhooks"],
                "summary": "Create Webhook",
                "description": "Create a new webhook.\n\n### Permissions\n- `api.webhooks.write`",
                "operationId": "createWebhook",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhook_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhook_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/webhooks/query": {
            "post": {
                "tags": ["Webhooks"],
                "summary": "Query Webhooks",
                "description": "Query webhooks, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `name` - `STRING`\n- `url` - `STRING`\n- `events` - `LIST<STRING>`\n\n### Permissions\n- `api.webhooks.read`",
                "operationId": "queryWebhooks",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiWebhook_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/webhook-event-logs/query": {
            "post": {
                "tags": ["Webhook event logs"],
                "summary": "Query Webhook Event Logs",
                "description": "Query webhook event logs, optionally applying a filter.\n\n### Queryable Fields\n\n- `status` - `STRING`\n- `webhookId` - `OBJECT_ID`\n- `attemptStartDate` - `DATE_TIME`\n- `eventType` - `STRING`\n- `responseStatusCode` - `INT32`\n\n### Permissions\n- `api.webhooks.read`",
                "operationId": "queryWebhookEventLogs",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiWebhookEventLog_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/users": {
            "post": {
                "tags": ["Users"],
                "summary": "Create User",
                "description": "Create a new user.\n\nWhen creating a user, you must provide the user’s email address and a user role. The email address must not be associated with an existing\nuser.\n\nThe following roles may not be created with the `Create User` endpoint:\n\n- `ROLE_MINDBRIDGE_SUPPORT`\n- `ROLE_CLIENT`\n\nUpon creation, an account activation email will be sent to the provided email address.\n\n### Rate limit\n\nThis endpoint is subject to a maximum limit of 100 requests per hour. Once the limit is exceeded, the `X-User-Hour-Limit-Remaining` response\nheader will be set, and it’s value will indicate the number of seconds until the rate limit is reset.\n\n**Note:** This rate limit is shared with the `Update User` and `Resend activation email` endpoints. Once the limit is reached, subsequent\ncalls to any of these endpoints will fail until the rate limit resets.\n\n### Permissions\n- `api.users.write`",
                "operationId": "createUser",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/users/{userId}/resend-activation-link": {
            "post": {
                "tags": ["Users"],
                "summary": "Resend Activation Link",
                "description": "Send a previously invited user a new activation email.\n\nUsers who have `validated` equal to `true` or `enabled` equal to `false` cannot be sent activation emails.\n\n### Rate limit\n\nThis endpoint is subject to a maximum limit of 100 requests per hour. Once the limit is exceeded, the `X-User-Hour-Limit-Remaining` response\nheader will be set, and it’s value will indicate the number of seconds until the rate limit is reset.\n\n**Note:** This rate limit is shared with the `Create User` and `Update User` endpoints. Once the limit is reached, subsequent calls to\nany of these endpoints will fail until the rate limit resets.\n\n### Permissions\n- `api.users.write`",
                "operationId": "resendActivationLink",
                "parameters": [{ "name": "userId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/users/query": {
            "post": {
                "tags": ["Users"],
                "summary": "Query User",
                "description": "Query users, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `email` - `STRING`\n- `role` - `STRING`\n- `enabled` - `BOOLEAN`\n\n### Permissions\n- `api.users.read`",
                "operationId": "queryUser",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiUser_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/transaction-id-previews/query": {
            "post": {
                "tags": ["Transaction ID Previews"],
                "summary": "Query Transaction Id Preview",
                "description": "Query transaction ID previews, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `analysisSourceId` - `OBJECT_ID`\n\n### Permissions\n- `api.analysis-sources.read`",
                "operationId": "queryTransactionIdPreview",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiTransactionIdPreview_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/tasks": {
            "post": {
                "tags": ["Tasks"],
                "summary": "Create Task",
                "description": "Create a new task.\n\nTasks are created on entries or transactions based on their transaction type, and row ID or transaction ID fields.\n\nThe analysis type determines which transaction types are permitted to create new tasks:\n\nFor general ledger (for-profit), general ledger (not-for-profit), and general ledger (not-for-profit with funds) analyses:\n\n- `ENTRY`\n- `TRANSACTION`\n\nFor accounts payable analyses:\n\n- `AP_ENTRY`\n- `AP_OUTSTANDING_ENTRY`\n\nFor accounts receivable analyses:\n\n- `AR_ENTRY`\n- `AR_OUTSTANDING_ENTRY`\n\nThe task type determines which of `rowId` and `transactionId` are required when creating a new task. The following table outlines which\nfields must be set for a given task type:\n\n| Type                   | `rowId` | `transactionId` |\n|------------------------|:-------:|:---------------:|\n| `ENTRY`                |    ✅    |        ✅        |\n| `TRANSACTION`          |    ❌    |        ✅        |\n| `AP_ENTRY`             |    ✅    |        ❌        |\n| `AR_ENTRY`             |    ✅    |        ❌        |\n| `AP_OUTSTANDING_ENTRY` |    ✅    |        ❌        |\n| `AR_OUTSTANDING_ENTRY` |    ✅    |        ❌        |\n\nAll tasks created by this endpoint will have `sampleType` set to `MANUAL`.\n\n### Permissions\n- `api.tasks.write`",
                "operationId": "createTask",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/tasks/{taskId}/add-comment": {
            "post": {
                "tags": ["Tasks"],
                "summary": "Add Task Comment",
                "description": "Add a comment to a task.\n\n### Permissions\n- `api.tasks.write`",
                "operationId": "addTaskComment",
                "parameters": [{ "name": "taskId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTaskComment_Create" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTask_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/tasks/query": {
            "post": {
                "tags": ["Tasks"],
                "summary": "Query Task",
                "description": "Query tasks, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisResultId` - `OBJECT_ID`\n- `analysisId` - `OBJECT_ID`\n- `analysisTypeId` - `OBJECT_ID`\n- `transaction` - `STRING`\n- `name` - `STRING`\n- `rowId` - `INT64`\n- `transactionId` - `INT64`\n- `status` - `STRING`\n- `assignedId` - `OBJECT_ID`\n- `auditAreas` - `ARRAY_STRINGS`\n- `assertions` - `ARRAY_STRINGS`\n- `type` - `STRING`\n- `sampleType` - `STRING`\n\n### Permissions\n- `api.tasks.read`",
                "operationId": "queryTask",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiTask_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/task-histories/query": {
            "post": {
                "tags": ["Task History"],
                "summary": "Query Task History",
                "description": "Query task histories, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `taskId` - `OBJECT_ID`\n\n### Required Query Restrictions\n\nWhen querying for task history, a `taskId` field and either an `$eq` or `$in` term must be\nincluded. Queries without these restrictions will fail.\n\n### Permissions\n- `api.tasks.read`",
                "operationId": "queryTaskHistory",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiTaskHistory_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/saved-filters": {
            "post": {
                "tags": ["Saved Filters"],
                "summary": "Create Saved Filter",
                "description": "Create a saved filter.\n\n### Permissions\n- `api.filters.write`",
                "operationId": "createSavedFilter",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilter_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilter_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/saved-filters/validate": {
            "post": {
                "tags": ["Saved Filters"],
                "summary": "Validate Saved Filter",
                "description": "Validate a saved filter for correctness against the provided data table ID, returning a list of actionable errors describing\nincompatibilities between the provided filter and table, if any.\n\nAdditionally mismatches between display values in the provided filter and the target data table are returned as actionable errors with\n`severity` set to `WARNING`, which represent display values that are different that those in the target data table.\n\n### Permissions\n- `api.filters.read`",
                "operationId": "validateSavedFilter",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFilterValidateRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Problem_Read" } } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/saved-filters/query": {
            "post": {
                "tags": ["Saved Filters"],
                "summary": "Query Saved Filters",
                "description": "Query saved filters, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `analysisTypeId` - `OBJECT_ID`\n- `organizationId` - `OBJECT_ID`\n- `libraryId` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n\n### Permissions\n- `api.filters.read`",
                "operationId": "querySavedFilters",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiFilter_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/risk-ranges": {
            "post": {
                "tags": ["Risk Ranges"],
                "summary": "Create Risk Range",
                "description": "Create a new set of risk ranges.\n\nRisk ranges can be created at the library level, by setting an associated library ID. Risk ranges can be created at the engagement level by\nsetting an engagement ID. You must set at least one of these IDs to successfully create a risk range.\n\n### Permissions\n- `api.risk-ranges.write`",
                "operationId": "createRiskRange",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiRiskRanges_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiRiskRanges_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/risk-ranges/query": {
            "post": {
                "tags": ["Risk Ranges"],
                "summary": "Query Risk Range",
                "description": "Query risk ranges with an optional filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `system` - `BOOLEAN`\n- `engagementId` - `OBJECT_ID`\n- `analysisTypeId` - `OBJECT_ID`\n- `libraryId` - `OBJECT_ID`\n\n### Permissions\n- `api.risk-ranges.read`",
                "operationId": "queryRiskRange",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiRiskRanges_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/reporting-period-config": {
            "post": {
                "tags": ["Reporting Period Configuration"],
                "summary": "Create Reporting Period Configuration",
                "description": "Create a new reporting period configuration.\n\n### Permissions\n- `api.reporting-period-config.write`",
                "operationId": "createReportingPeriodConfiguration",
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/ApiReportingPeriodConfigurationRequest_Create" } }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiReportingPeriodConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/reporting-period-config/query": {
            "post": {
                "tags": ["Reporting Period Configuration"],
                "summary": "Query Reporting Period Configuration",
                "description": "Query reporting period configurations, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n\n### Permissions\n- `api.reporting-period-config.read`",
                "operationId": "queryReportingPeriodConfiguration",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiReportingPeriodConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/populations": {
            "post": {
                "tags": ["Populations"],
                "summary": "Create Population",
                "description": "Create a new population.\n\nEngagement populations cannot be created directly, they can only be promoted from an analysis population, or inherited from a library\npopulation.\n\n### Permissions\n\n- `api.libraries.write`\n- `api.analyses.write`\n",
                "operationId": "createPopulation",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPopulationTag_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPopulationTag_Read" } } }
                    }
                }
            }
        },
        "/v1/populations/query": {
            "post": {
                "tags": ["Populations"],
                "summary": "Query Populations",
                "description": "Query populations, optionally applying a filter.\n\n### Queryable Fields\n\n- `id - OBJECT_ID`\n- `libraryId - OBJECT_ID`\n- `disabledForAnalysisIds - List<OBJECT_ID>`\n- `promotedFromAnalysisId - OBJECT_ID`\n- `engagementId - OBJECT_ID`\n- `analysisId - OBJECT_ID`\n- `derivedFromEngagement - BOOLEAN`\n- `basePopulationId - OBJECT_ID`\n- `name - STRING`\n- `category - STRING`\n- `disabled - BOOLEAN`\n\n### Permissions\n\n- `api.libraries.read`\n- `api.engagements.read`\n- `api.analyses.read`\n",
                "operationId": "queryPopulations",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiPopulationTag_Read" } } }
                    }
                }
            }
        },
        "/v1/organizations": {
            "post": {
                "tags": ["Organizations"],
                "summary": "Create Organization",
                "description": "Create a new organization.\n\n### Permissions\n- `api.organizations.write`",
                "operationId": "createOrganization",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiOrganization_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiOrganization_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/organizations/query": {
            "post": {
                "tags": ["Organizations"],
                "summary": "Query Organization",
                "description": "Query organizations, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `name` - `STRING`\n- `externalClientCode` - `STRING`\n\n### Permissions\n- `api.organizations.read`",
                "operationId": "queryOrganization",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiOrganization_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/libraries": {
            "post": {
                "tags": ["Libraries"],
                "summary": "Create Library",
                "description": "Create a new library.\n\nIf the selected account grouping and the account grouping associated with the selected base library are different,\nMindBridge can attempt to convert the settings (e.g., ratios, filters, populations, etc.) from the base library for use\nwith the accounts in the selected account grouping. To do so, set the `convertSettings` property to `true` — any\naccounts that cannot be converted will be listed in the `conversionWarnings` field.\n\n**Note**: If `warningsDismissed` is also set to `true`, these warnings will not be displayed in the UI.\n\nRestrictions\n\n- The industry tags for the new library must be included in the selected account grouping.\n\n### Permissions\n- `api.libraries.write`",
                "operationId": "createLibrary",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiLibrary_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiLibrary_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/libraries/query": {
            "post": {
                "tags": ["Libraries"],
                "summary": "Query Library",
                "description": "Query libraries, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `basedOnLibraryId` - `OBJECT_ID`\n- `originalSystemLibraryId` - `OBJECT_ID`\n- `accountGroupingId` - `OBJECT_ID`\n- `system` - `BOOLEAN`\n- `archived` - `BOOLEAN`\n\n### Permissions\n- `api.libraries.read`",
                "operationId": "queryLibrary",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiLibrary_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/json-tables": {
            "post": {
                "tags": ["JSON Tables"],
                "summary": "Create",
                "description": "Create a new JSON table.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiJsonTable_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/json-tables/{jsonTableId}/append": {
            "post": {
                "tags": ["JSON Tables"],
                "summary": "Append",
                "description": "Append data to an existing JSON table. This should not be run in parallel with another append call, or when creating a\nfile manager file, as undefined behaviour may occur.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "append",
                "parameters": [{ "name": "jsonTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JsonTableBody" } } } },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiJsonTable_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-results/query": {
            "post": {
                "tags": ["File Results"],
                "summary": "Query File Result",
                "description": "Query file results, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `fileName` - `STRING`\n",
                "operationId": "queryFileResult",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiFileExport_Read" } } }
                    }
                }
            }
        },
        "/v1/file-manager": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Create File Manager Directory",
                "description": "Create a new file manager directory.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createFileManagerDirectory",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerDirectory_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerDirectory_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/transform/merge": {
            "post": {
                "tags": ["Data Transformation"],
                "summary": "Create Merge File Job",
                "description": "Merge data from the first sheet of multiple file manager files, then generate a new file with all source data on a single sheet.\n\nPreferred field (new): `mappings` — a list of objects, each with a `fileManagerFileId` and a `columns` array that defines how its columns map into the merged output positions.\n\nExample (`mappings`):\n\n```\n{\n  \"mappings\": [\n    {\"fileManagerFileId\": \"1234567890abcdef12345678\", \"columns\": [0, 1, 2, 3, 4]},\n    {\"fileManagerFileId\": \"2345678901bcdefa23456789\", \"columns\": [1, 0, 2, 4, 3]}\n  ]\n}\n```\n\nDeprecated (legacy) field: `fileColumnMappings` — a map from `fileManagerFileId` to its columns array. It is still accepted for backward compatibility but will be removed in a future version.\n\nExample (`fileColumnMappings`):\n\n```\n{\n  \"fileColumnMappings\": {\n    \"1234567890abcdef12345678\": [0, 1, 2, 3, 4],\n    \"2345678901bcdefa23456789\": [1, 0, 2, 4, 3]\n  }\n}\n```\n\nThe first mapping entry (in either format) is the master/template file and its columns array defines the output column positions. Columns are numbered from left to right, with the leftmost in a file being position 0. Each subsequent entry defines, for each output column, which column index to use from that file, allowing flexible mapping and positioning in the merged result.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createMergeFileJob",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileMergeRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/query": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Query File Manager Entity",
                "description": "Query **file manager entities**, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `type` - `STRING`\n- `engagementId` - `OBJECT_ID`\n- `parentFileManagerEntityId` - `OBJECT_ID`\n- `name` - `STRING`\n- `originalName` - `STRING`\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "queryFileManagerEntity",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiFileManagerEntity_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/import": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Create File Manager File From Multipart File",
                "description": "This endpoint allows you to import a file and set the properties of the resulting File Manager File entity at the same time. The body of the\nrequest is an HTTP form with the `Content-Type` header set to `multipart/form-data`, containing 2 parts: `fileManagerFile` for the **entity\nproperties**, and `file` for the **file**.\n\nThe `fileManagerFile` part must have the `Content-Type` header set to `application/json` and is similar to other entity types.\n\nThe `file` part contains the file to be uploaded and its `Content-Type` header must correspond to the file’s data type. For example, for a\n`.csv` file, the `Content-Type` header for the file part should be `text/csv`.\n\nFor reference, these are the content types associated with common file types:\n\n| File extension | Content type value                                                  |\n|----------------|---------------------------------------------------------------------|\n| `.csv`         | `text/csv`                                                          |\n| `.xls`         | `application/vnd.ms-excel`                                          |\n| `.xlsx`        | `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` |\n| `.zip`         | `application/zip`                                                   |\n| `.gz`          | `application/gzip`                                                  |\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createFileManagerFileFromMultipartFile",
                "parameters": [{ "name": "content-type", "in": "header", "schema": { "type": "string", "enum": ["multipart/form-data"] } }],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "fileManagerFile": { "$ref": "#/components/schemas/ApiFileManagerFile_Read" },
                                    "file": { "type": "string", "format": "binary" }
                                },
                                "required": ["file", "fileManagerFile"]
                            },
                            "encoding": { "fileManagerFile": { "contentType": "application/json" } }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/import-from-json-table": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Import From Json Table",
                "description": "Create a new file manager file from the imported parts of a JSON table. The resulting file will be a CSV file, and headers will appear in\nthe same order as the original source.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "importFromJsonTable",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": { "$ref": "#/components/schemas/CreateApiFileManagerFileFromJsonTableRequest_Create" }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/import-from-data-table": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Import From Data Table",
                "description": "Create a new file manager file by exporting data from a data table. The resulting file will be a CSV file placed in the specified\nfile manager directory. Returns an async result that can be polled for the export outcome.\n\nRequires both `API_DATA_TABLES_READ` and `API_FILE_MANAGER_WRITE` permissions.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "importFromDataTable",
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataTableExportToFileManagerRequest_Create" } }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/import-from-chunked/{chunkedFileId}": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Create File Manager File From Chunked File (deprecated)",
                "description": "This endpoint validates that all chunks of the import have been received, then completes a chunked file import, given by its ID in the URL,\nand creates a **file manager file** entity.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createFileManagerFileFromChunkedFile",
                "parameters": [{ "name": "chunkedFileId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerFile_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerFile_Read" } } }
                    }
                },
                "deprecated": true,
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-manager/create-from-chunked-file": {
            "post": {
                "tags": ["File Manager"],
                "summary": "Create File Manager File From Chunked File",
                "description": "This endpoint validates that all chunks of the import have been received, then completes a chunked file import, given by its ID in the\nmessage body, and creates a **file manager file** entity.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createFileManagerFileFromChunkedFile_1",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": { "$ref": "#/components/schemas/CreateApiFileManagerFileFromChunkedFileRequest_Create" }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileManagerFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-infos/query": {
            "post": {
                "tags": ["File Info"],
                "summary": "Query File Info",
                "description": "Query file infos, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `type` - `TEXT`\n\n### Permissions\n- `api.file-infos.read`",
                "operationId": "queryFileInfo",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiFileInfo_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagements": {
            "post": {
                "tags": ["Engagements"],
                "summary": "Create Engagement",
                "description": "Create a new engagement.\n\n### Permissions\n- `api.engagements.write`",
                "operationId": "createEngagement",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagement_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagement_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagements/query": {
            "post": {
                "tags": ["Engagements"],
                "summary": "Query Engagement",
                "description": "Query engagements, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `organizationId` - `OBJECT_ID`\n- `name` - `String`\n- `billingCode` - `String`\n- `libraryId` - `OBJECT_ID`\n- `engagementLeadId` - `OBJECT_ID`\n\n### Permissions\n- `api.engagements.read`",
                "operationId": "queryEngagement",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiEngagement_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groups": {
            "post": {
                "tags": ["Engagement Account Groups"],
                "summary": "Create Engagement Account Group",
                "description": "Create a new engagement account group.\n\nNew engagement account groups must adhere to the following conditions:\n\n- The provided code must be unique within the engagement account grouping.\n- An engagement account group can have no more than three parents in its hierarchy. Setting an engagement account group's parent code such\n  that it would have more than three parents is not allowed.\n- Lowest level engagement account groups must include a valid MAC code.\n- Engagement account groups cannot be added to a MAC account grouping.\n\n### Permissions\n- `api.engagement-account-groupings.write`",
                "operationId": "createEngagementAccountGroup",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groups/query": {
            "post": {
                "tags": ["Engagement Account Groups"],
                "summary": "Query Engagement Account Groups",
                "description": "Query engagement account groups, optionally applying a filter.\n\n### Required Query Restrictions\n\nWhen querying engagement account groups, an `engagementAccountGroupingId` field and either an `$eq` or `$in` term must be\nincluded. Queries without these restrictions will fail.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `engagementAccountGroupingId` - `OBJECT_ID`\n- `hidden` - `BOOLEAN`\n- `code` - `STRING`\n\n### Permissions\n- `api.engagement-account-groupings.read`",
                "operationId": "queryEngagementAccountGroups",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiEngagementAccountGroup_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groupings/{engagementAccountGroupingId}/export": {
            "post": {
                "tags": ["Engagement Account Groupings"],
                "summary": "Export Engagement Account Grouping",
                "description": "Export an engagement account grouping and all of its account groups as an Excel file. Exporting returns an async result,\nwhich can then be used to return a file result.\n\n### Permissions\n- `api.engagement-account-groupings.read`",
                "operationId": "exportEngagementAccountGrouping",
                "parameters": [{ "name": "engagementAccountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groupings/query": {
            "post": {
                "tags": ["Engagement Account Groupings"],
                "summary": "Query Engagement Account Grouping",
                "description": "Query engagement account groupings, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `accountGroupingId` - `OBJECT_ID`\n\n### Permissions\n- `api.engagement-account-groupings.read`",
                "operationId": "queryEngagementAccountGrouping",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiEngagementAccountGrouping_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/databricks-auth/query": {
            "post": {
                "tags": ["Databricks Authorization"],
                "summary": "Query Databricks Authorizations",
                "description": "Query Databricks authorizations, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `connectionId` - `OBJECT_ID`\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "queryDatabricksAuthorizations",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiDatabricksAuthorization_Read" } }
                        }
                    }
                }
            }
        },
        "/v1/data-tables/{dataTableId}/export": {
            "post": {
                "tags": ["Data Tables"],
                "summary": "Export Data Table",
                "description": "Export a data table as a CSV. Exporting returns an async result, which can then be used to return a file result.\n\n### CSV Formatting\n\nBy default, the following CSV formatting is used:\n\n- Comma (`,`) is used as the separator\n- Double quotes (`\"`) are used as the quote character\n- Double quotes (`\"`) are used as the quote escape character: (`\"\"`)\n- No quote escape escape value is set, as it is not needed\n- All headers and values are quoted\n\nThe CSV formatting rules can be customized by setting the `csvConfiguration` field. Any values that are not changed will use their\ndefault value.\n\nIt is strongly recommended to not use newline or whitespace characters, or to use the same characters for both the separator and quote\ncharacters, as they may produce files that can't be read correctly.\n\n### Inner lists\n\n`ARRAY_STRINGS` type fields are formatted as a CSV value.\n\nBy default, they have the following formatting:\n\n- Semicolon (`;`) is used as the separator\n- Single quotes (`'`) are used as the quote character\n- Single quotes (`'`) are used as the quote escape character: (`''`)\n- No quote escape escape value is set, as it is not needed\n- All values are quoted\n\nIn addition to the same recommendations as with CSV formatting it is also strongly recommended to not use the same characters for\nformatting inner lists as are used for CSV formatting, as it may produce a file that can't be read correctly.\n\n### Flag type formatting\n\n`BOOLEAN_FLAGS`, `MAP_SCALARS`, and `LEGACY_ACCOUNT_TAG_EFFECTS` type fields are split into multiple columns based on the column's flags.\nThe field names will be formatted in the following way: `{field}_{flag}`.\n\n### Query Restrictions\n\nColumns with type `KEYWORD_SEARCH` or the `filterOnly` property set to `true` can't be included in data table exports. Attempting to select them as part of\n`fields` will cause the export request to fail.\n\n### Sorting Restrictions\n\nWhen a `sort` is provided in the request body, it will only apply to data table exports under 2 million rows. For exports over 2 million\nrows, no sorting will be applied to improve performance.\n\n### Permissions\n- `api.data-tables.read`",
                "operationId": "exportDataTable",
                "parameters": [{ "name": "dataTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataTableExportRequest" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    },
                    "423": {
                        "description": "Locked",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActionableErrorResponse" } } }
                    },
                    "410": {
                        "description": "Gone",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActionableErrorResponse" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/data-tables/{dataTableId}/data": {
            "post": {
                "tags": ["Data Tables"],
                "summary": "Query Data Table Data",
                "description": "This endpoint allows you to load data from the data table. This data is retrieved as pages and can be sorted and filtered by a\nMindBridge QL query.\n\n## 423 Locked – Response Code\n\nMindBridge automatically loads data table results into fast storage for querying. If you receive an **HTTP 423** response code while\nquerying a table, it means MindBridge is retrieving your data. Wait a few seconds before trying again.\n\n## Paging for tables without a primary key\n\nSome data tables, such as those loaded from a data connection, do not have a primary key. These tables are paged using a simple\noffset and limit rather than the optimized cursor used for other tables. As a result:\n\n- Ordering is not guaranteed to be stable across requests unless you supply a `sort`. Sorting on a column that contains duplicate\n  values may still produce an inconsistent order between pages.\n- Requesting deep pages may be slower.\n\nFor consistent results, supply a `sort` on a column with unique values.\n\n## Filter-only fields\n\nFilter-only fields cannot be included in the `fields` or `sort` properties in a data table query, but they can be included in the `query`\nproperty.\n\n## Populations\n\nIf supported by your analysis, data table entries can be filtered by population, and can include an additional column to indicate all\npopulations that the entry appears within.\n\nTo include or exclude entries by population, use the `$population` and `$not_population` operators as part of the `query`.\n\nFor example, if you had a population with ID `\"643eff00ec992f7ec42ed9f7\"`, you could filter for all entries that appear within the\npopulation.\n\n```json\n{\n  \"query\": {\n    \"$population\": \"643eff00ec992f7ec42ed9f7\"\n  },\n  \"fields\": [\n    \"rowid\",\n    \"txid\",\n    \"debit\",\n    \"credit\"\n  ]\n}\n```\n\nTo include a list of populations that each entry is part of, add the `\"populations\"` column to the `fields` parameter.\n\n**Note**: You cannot use the `population` field as part of a query — instead, use the `$population` and `$not_population` operators.\n\nFor example, the following body will include the `populations` column:\n\n```json\n{\n  \"query\": {},\n  \"fields\": [\n    \"rowid\",\n    \"txid\",\n    \"populations\",\n    \"debit\",\n    \"credit\"\n  ]\n}\n```\n\n### Permissions\n- `api.data-tables.read`",
                "operationId": "queryDataTableData",
                "parameters": [{ "name": "dataTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataTableQuery_Read" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataTablePage" } } }
                    },
                    "423": {
                        "description": "Locked",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActionableErrorResponse" } } }
                    },
                    "410": {
                        "description": "Gone",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActionableErrorResponse" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/data-tables/query": {
            "post": {
                "tags": ["Data Tables"],
                "summary": "Query Data Table",
                "description": "Query data tables, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisId` - `OBJECT_ID`\n- `analysisResultId` - `OBJECT_ID`\n- `logicalName` - `STRING`\n- `type` - `STRING`\n\n### Permissions\n- `api.data-tables.read`",
                "operationId": "queryDataTable",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    },
                    {
                        "name": "include-unstable-schemas",
                        "in": "query",
                        "description": "When true, include data tables with unstable schema in addition to stable tables.",
                        "required": false,
                        "schema": { "type": "boolean", "default": false }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiDataTable_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/data-source-import-tasks/query": {
            "post": {
                "tags": ["Data Source Import Tasks"],
                "summary": "Query Data Source Import Tasks",
                "description": "Query data source import tasks, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECTID`\n- `engagementId` - `OBJECTID`\n- `state` - `STRING`\n- `type` - `STRING`\n- `dataSourceId`- `OBJECTID`\n- `outputDataTableId` - `OBJECTID`\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n",
                "operationId": "queryDataSourceImportTasks",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiDataSourceImportTask_Read" } }
                        }
                    }
                }
            }
        },
        "/v1/data-catalog-entries": {
            "post": {
                "tags": ["Data Catalog Entries"],
                "summary": "Create Data Catalog Entry",
                "description": "Create a new data catalog entry.\n\nData catalog entries must provide a value for the `source` field, and depending on the value used the following values are required:\n\n- When the `source` field is set to `DATA_TABLE` the `dataTableId` field must be set to the ID of a data table accessible by the API.\n\n- When the `source` field is set to `CONNECTION`, both `connectionId` and `tableId` must be set.\n\n### Permissions\n\n- `api.data-catalog-entries.write`\n",
                "operationId": "createDataCatalogEntry",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Create" },
                                    { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Create" }
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Read" },
                                        { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Read" }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "/v1/data-catalog-entries/{dataCatalogEntryId}/validate": {
            "post": {
                "tags": ["Data Catalog Entries"],
                "summary": "Validate Data Catalog Entry",
                "description": "Validates that the schema of the data catalog entry aligns with the schema of its source.\n\nIn the case of `CONNECTION` sourced data catalog entries the connection may need to be refreshed before running validate to ensure that the\nmost current schema of the remote data table is being validated against. This can be done by calling the `Get Tables For Connection` endpoint,\nwhich will update all tables related to that connection.\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n",
                "operationId": "validateDataCatalogEntry",
                "parameters": [{ "name": "dataCatalogEntryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataSourceDataRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiValidationResult" } } }
                    }
                }
            }
        },
        "/v1/data-catalog-entries/{dataCatalogEntryId}/get-data": {
            "post": {
                "tags": ["Data Catalog Entries"],
                "summary": "Get Data For Data Catalog Entry",
                "description": "Imports the data from a data catalog entry into MindBridge, asynchronously creating a new data table. The request can specify which columns\nto import, and can optionally provide a filter, a limit, an offset, and a set of sort properties to be applied when importing the data.\n\nThe data catalog entry’s source will be updated and validated before importing any data to ensure that the schema in the data catalog entry\nand the request are valid. If either the data catalog entry or the request are not valid, then the request will fail.\n\nUnlike the Validate endpoint, for `CONNECTION` sources this endpoint does not need to call the `Get Tables For Connection` endpoint, as the\nunderlying connection table will be refreshed directly before validation. Note that the data catalog entry's own column definitions are not\nautomatically updated from the connection — they reflect the schema at the time the entry was created.\n\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n- `api.data-tables.write`\n",
                "operationId": "getDataForDataCatalogEntry",
                "parameters": [{ "name": "dataCatalogEntryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataSourceDataRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/data-catalog-entries/query": {
            "post": {
                "tags": ["Data Catalog Entries"],
                "summary": "Query Data Catalog Entries",
                "description": "Query data catalog entry, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECTID`\n- `source` - `STRING`\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n",
                "operationId": "queryDataCatalogEntries",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiDataCatalogEntry_Read" } } }
                    }
                }
            }
        },
        "/v1/connections": {
            "post": {
                "tags": ["Connections"],
                "summary": "Create Connection",
                "description": "Create a new connection.\n\n### Permissions\n\n- `api.connections.write`\n",
                "operationId": "createConnection",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnection_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnection_Read" } } }
                    }
                }
            }
        },
        "/v1/connections/{connectionId}/test": {
            "post": {
                "tags": ["Connections"],
                "summary": "Test Connection",
                "description": "Test an existing connection, identified by its ID. Returns an asynchronous result that can be polled for the test outcome.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "testConnection",
                "parameters": [{ "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/connections/{connectionId}/tables": {
            "post": {
                "tags": ["Connections"],
                "summary": "Get Tables For Connection",
                "description": "Retrieve the list of available tables from an existing connection, identified by its ID. Returns an async result that can be polled for the table discovery outcome.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "getTablesForConnection",
                "parameters": [{ "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/connections/{connectionId}/get-data": {
            "post": {
                "tags": ["Connections"],
                "summary": "Get Data For Connection",
                "description": "Retrieve data from a specific table in an existing connection. Requires a request body specifying the table, engagement, and optional schema hint, filter, and pagination parameters. Returns an async result that can be polled for the data retrieval outcome. On success, the retrieved data is stored as a Data Table entity.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "getDataForConnection",
                "parameters": [{ "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnectionDataRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/connections/query": {
            "post": {
                "tags": ["Connections"],
                "summary": "Query Connection",
                "description": "Query connections, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `type` - `STRING`\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "queryConnection",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiConnection_Read" } } }
                    }
                }
            }
        },
        "/v1/connection-test-results/query": {
            "post": {
                "tags": ["Connection Test Results"],
                "summary": "Query Connection Test Results",
                "description": "Query connection test results, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `connectionId` - `OBJECT_ID`\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "queryConnectionTestResults",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiConnectionTestResult_Read" } }
                        }
                    }
                }
            }
        },
        "/v1/connection-tables/query": {
            "post": {
                "tags": ["Data Connection Tables"],
                "summary": "Query Connection Tables",
                "description": "Query connection tables, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `tablesResultId` - `OBJECT_ID`\n- `connectionId` - `OBJECT_ID`\n- `tableId` - `STRING`\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "queryConnectionTables",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiConnectionTable_Read" } } }
                    }
                }
            }
        },
        "/v1/connection-tables-results/query": {
            "post": {
                "tags": ["Connection Tables Results"],
                "summary": "Query Connection Tables Results",
                "description": "Query connection tables results, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `connectionId` - `OBJECT_ID`\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "queryConnectionTablesResults",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiConnectionTablesResult_Read" } }
                        }
                    }
                }
            }
        },
        "/v1/chunked-files": {
            "post": {
                "tags": ["Chunked Files"],
                "summary": "Create Chunked File",
                "description": "This endpoint allows you to begin the process of importing a file in multiple chunks. Calling this endpoint returns a `{chunkedFileId}` to use\nin subsequent steps.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "createChunkedFile",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiChunkedFile_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiChunkedFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/chunked-files/{chunkedFileId}/part": {
            "post": {
                "tags": ["Chunked Files"],
                "summary": "Add Chunked File Part",
                "description": "This endpoint is used to append a `chunkedFilePart` to a chunked file.\n\nChunked file parts must provide an `offset` and a `size` along with content. The first chunked file part must have offset `0`. You may add\nthe same chunked file part multiple times to retry a failed import. When retrying, you must use the same `offset` and `size`. You may add\nchunked file parts out of order.\n\n- Maximum chunked file part size: 50 MiB.\n- Maximum number of chunked file parts in one file: 1000.\n- Maximum overall file size: 20 GiB.\n\nThe body of the request is an HTTP form with the `Content-Type` header set to `multipart/form-data`, and contains 2 parts: `chunkedFilePart`\nfor the **chunk properties**, and `fileChunk` for the **data**.\n\nThe `chunkedFilePart` must have the `Content-Type` header set to `application/json` and is similar to other entity types. It specifies the\n`offset` and `size` of the chunk.\n\nThe fileChunk contains the file to be imported. Its `Content-Type` header must correspond to the file’s data type.\n\nFor example, for a `.csv` file, the `Content-Type` header for the `fileChunk` should be `text/csv`.\n\n### Permissions\n- `api.file-manager.write`",
                "operationId": "addChunkedFilePart",
                "parameters": [
                    { "name": "chunkedFileId", "in": "path", "required": true, "schema": { "type": "string" } },
                    { "name": "content-type", "in": "header", "schema": { "type": "string", "enum": ["multipart/form-data"] } }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "chunkedFilePart": { "$ref": "#/components/schemas/ApiChunkedFilePart" },
                                    "fileChunk": { "type": "string", "format": "binary" }
                                },
                                "required": ["chunkedFilePart", "fileChunk"]
                            },
                            "encoding": { "fileChunk": { "contentType": "application/json" } }
                        }
                    },
                    "required": true
                },
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/chunked-files/query": {
            "post": {
                "tags": ["Chunked Files"],
                "summary": "Query Chunked File",
                "description": "Queries a pending chunked file import, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `name` - `STRING`\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "queryChunkedFile",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiChunkedFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/async-results/query": {
            "post": {
                "tags": ["Async Results"],
                "summary": "Query Async Result",
                "description": "Query async results, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `type` - `STRING`\n- `status` - `STRING`\n- `entityId` - `OBJECT_ID`\n- `entityType` - `STRING`\n\n### Permissions\n\nThis endpoint inherits the permissions from the target entity in scope. For example, if the async result represents an **analysis source**,\nthen the requesting token must contain the permission: `api.analysis-sources.read`.\n",
                "operationId": "queryAsyncResult",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/api-tokens": {
            "post": {
                "tags": ["API Tokens"],
                "summary": "Create API Token",
                "description": "Create a new API token.\n\nThe creation response will include a `token` field with the newly created token. This token is only returned on creation, and cannot be\nre-generated afterwards.\n\nWhen an API token is created, an API Token User is automatically created and assigned to the API token. This non-human user account\nrepresents the API token, and any action that the API takes will be attributed to that account. The API Token User can be identified through\nthe `userId` property in the API Token entity.\n\n### Permissions\n- `api.api-tokens.write`",
                "operationId": "createApiToken",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiApiToken_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiTokenResponse_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/api-tokens/query": {
            "post": {
                "tags": ["API Tokens"],
                "summary": "Query API Token",
                "description": "Query API tokens, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `userId` - `OBJECT_ID`\n- `name` - `STRING`\n\n### Permissions\n- `api.api-tokens.read`",
                "operationId": "queryApiToken",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiApiToken_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-types/query": {
            "post": {
                "tags": ["Analysis Types"],
                "summary": "Query Analysis Type",
                "description": "Query analysis types, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n\n### Permissions\n- `api.analysis-types.read`",
                "operationId": "queryAnalysisType",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAnalysisType_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-type-configuration/query": {
            "post": {
                "tags": ["Analysis Type Configuration"],
                "summary": "Query",
                "description": "Query analysis type configurations, optionally applying a filter.\n\n### Queryable fields:\n\n- `id` - `OBJECT_ID`\n- `libraryId` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisTypeId` - `OBJECT_ID`\n- `controlPointBundleVersion` - `STRING`\n- `template` - `BOOLEAN`\n\n### Permissions\n- `api.analysis-type-configuration.read`",
                "operationId": "query",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAnalysisTypeConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-sources": {
            "post": {
                "tags": ["Analysis Sources"],
                "summary": "Create Analysis Source",
                "description": "Create a new analysis source.\n\n### Permissions\n- `api.analysis-sources.write`",
                "operationId": "createAnalysisSource",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisSource_Create" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-sources/query": {
            "post": {
                "tags": ["Analysis Sources"],
                "summary": "Query Analysis Source",
                "description": "Query analysis sources, optionally applying a filter.\n\n### Queryable Fields\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisId` - `OBJECT_ID`\n- `analysisPeriodId` - `OBJECT_ID`\n- `analysisSourceTypeId` - `OBJECT_ID`\n- `additionalDataColumnField` - `STRING`\n\n### Permissions\n- `api.analysis-sources.read`",
                "operationId": "queryAnalysisSource",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAnalysisSource_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-source-types/query": {
            "post": {
                "tags": ["Analysis Source Types"],
                "summary": "Query Analysis Source Type",
                "description": "Query analysis source types, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n\n### Permissions\n- `api.analysis-source-types.read`",
                "operationId": "queryAnalysisSourceType",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAnalysisSourceType_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-results/query": {
            "post": {
                "tags": ["Analysis Results"],
                "summary": "Query Analysis Results",
                "description": "Query analysis results, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisId` - `OBJECT_ID`\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "queryAnalysisResults",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageApiAnalysisResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses": {
            "post": {
                "tags": ["Analyses"],
                "summary": "Create Analysis",
                "description": "Create a new analysis.\n\nIf no `reportingPeriodConfigurationId` is provided, it inherits the reporting period set on the engagement.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "createAnalysis",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysis_Create" } } },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysis_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/{analysisId}/start": {
            "post": {
                "tags": ["Analyses"],
                "summary": "Start Analysis",
                "description": "Run an analysis through MindBridge’s analytics.\n\n**Deprecation**: This endpoint has been renamed to `/run` and will be removed in a future release.\n\n### Permissions\n- `api.analyses.run`",
                "operationId": "startAnalysis",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "deprecated": true,
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/{analysisId}/run": {
            "post": {
                "tags": ["Analyses"],
                "summary": "Run Analysis",
                "description": "Run an analysis through MindBridge’s analytics.\n\n### Permissions\n- `api.analyses.run`",
                "operationId": "runAnalysis",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/query": {
            "post": {
                "tags": ["Analyses"],
                "summary": "Query Analysis",
                "description": "Query analyses, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `analysisTypeId` - `OBJECT_ID`\n- `name` - `STRING`\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "queryAnalysis",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAnalysis_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/engagement-roll-forward": {
            "post": {
                "tags": ["Analyses"],
                "summary": "Engagement Roll Forward Analysis",
                "description": "Roll a completed analysis forward into an existing engagement. This will create a new analysis within the target engagement using the source analysis' data as\nprior period data for the new analysis.\n\nFor analyses using a non-periodic time frame, this will create a new current analysis period, with the existing data being added as prior period data. This new\ncurrent period can be configured to either be a full period, or an interim period.\n\nAnalyses that use the periodic time frame will be rolled forward into a new periodic time frame, and will not have a new period added.\n\nRolling forward is subject to the following restrictions:\n- The target engagement must not be the same as the analysis' current engagement.\n- Only completed analyses can be rolled forward.\n- Interim analyses cannot be rolled forward. This does not apply to interim analyses that have been converted to full-period analyses.\n- The library of the target engagement must support the analysis type of the analysis.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "engagementRollForwardAnalysis",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementRollForwardRequest" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/admin-reports/row-usage-report/run": {
            "post": {
                "tags": ["Admin reports"],
                "summary": "Run Row Usage Report",
                "description": "Running a **row usage report** returns an async result, which can then be used to return a **file result**.\n\n### Permissions\n- `api.admin-reports.run`",
                "operationId": "runRowUsageReport",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunAdminReportRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/admin-reports/analysis-overview-report/run": {
            "post": {
                "tags": ["Admin reports"],
                "summary": "Run Analysis Overview Report",
                "description": "Running an **analysis overview report** returns an async result, which can then be used to return a **file result**.\n\n### Permissions\n- `api.admin-reports.run`",
                "operationId": "runAnalysisOverviewReport",
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/RunAnalysisOverviewReportRequest_Create" } }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/admin-reports/activity-report/run": {
            "post": {
                "tags": ["Admin reports"],
                "summary": "Run Activity Report",
                "description": "Running an **activity report** returns an async result, which can then be used to return a **file result**.\n\nProvide `start` and `end` date values to limit the results to a specific time period.\n\nSetting values in the `userIds` and `categories` lists will limit the results to the users who performed the actions, and the provided\ncategories, respectively. Leaving these lists empty will return results for all users and categories, respectively.\n\n### Permissions\n- `api.admin-reports.run`",
                "operationId": "runActivityReport",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RunActivityReportRequest_Create" } } },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-mappings/verify": {
            "post": {
                "tags": ["Account Mappings"],
                "summary": "Verify Account Mappings For Engagement",
                "description": "Mark all account mappings for a given engagement as verified.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "verifyAccountMappingsForEngagement",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiVerifyAccountsRequest" } } },
                    "required": true
                },
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-mappings/query": {
            "post": {
                "tags": ["Account Mappings"],
                "summary": "Query Account Mappings",
                "description": "Query account mappings, optionally applying a filter.\n\n## Required Query Restrictions\n\nWhen querying account groups, an `engagementId` field and either an `$eq` or `$in` term must be included. Queries\nwithout these restrictions will fail.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `engagementId` - `OBJECT_ID`\n- `account` - `STRING`\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "queryAccountMappings",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAccountMapping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-mappings/export": {
            "post": {
                "tags": ["Account Mappings"],
                "summary": "Export Account Mappings For Engagement",
                "description": "### Permissions\n- `api.analyses.read`",
                "operationId": "exportAccountMappingsForEngagement",
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiExportAccountsRequest" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-mappings/delete-unused": {
            "post": {
                "tags": ["Account Mappings"],
                "summary": "Delete Unused Account Mappings For Engagement",
                "description": "Deletes all unused accounts mappings for the provided engagement.\n\n### Permissions\n- `api.analyses.write`",
                "operationId": "deleteUnusedAccountMappingsForEngagement",
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/ApiDeleteUnusedAccountMappingsRequest" } }
                    },
                    "required": true
                },
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groups/query": {
            "post": {
                "tags": ["Account Groups"],
                "summary": "Query Account Group",
                "description": "Query account groups, optionally applying a filter.\n\n## Required Query Restrictions\n\nWhen querying account groups, an `accountGroupingId` field and either an `$eq` or `$in` term must be included. Queries\nwithout these restrictions will fail.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n- `accountGroupingId` - `OBJECT_ID`\n- `code` - `STRING`\n\n### Permissions\n- `api.account-groupings.read`",
                "operationId": "queryAccountGroup",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAccountGroup_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groupings/{accountGroupingId}/export": {
            "post": {
                "tags": ["Account Groupings"],
                "summary": "Export Account Grouping",
                "description": "Export an account grouping and all it’s account groups as an Excel file. Exporting returns an async result, which can\nthen be used to return a file result.\n\n### Permissions\n- `api.account-groupings.read`",
                "operationId": "exportAccountGrouping",
                "parameters": [{ "name": "accountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groupings/{accountGroupingId}/append-from-chunked-file": {
            "post": {
                "tags": ["Account Groupings"],
                "summary": "Append From Chunked File",
                "description": "Append a chunked file that contains a MindBridge account grouping file (.xlsx) to an existing account grouping to add\nnew account groups and mappings to the existing account grouping.\n\n**Note:** Appending to _CCH group trial balance_ files is not supported.\n\n### Permissions\n- `api.account-groupings.write`",
                "operationId": "appendFromChunkedFile",
                "parameters": [{ "name": "accountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/ApiImportAccountGroupingParams_Update" } }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGrouping" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groupings/query": {
            "post": {
                "tags": ["Account Groupings"],
                "summary": "Query Account Grouping",
                "description": "Query account groupings, optionally applying a filter.\n\n### Queryable Fields\n\n- `id` - `OBJECT_ID`\n\n### Permissions\n- `api.account-groupings.read`",
                "operationId": "queryAccountGrouping",
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based page index (0..N)",
                        "required": false,
                        "schema": { "type": "integer", "default": 0, "minimum": 0 }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "The size of the page to be returned",
                        "required": false,
                        "schema": { "type": "integer", "default": 20, "minimum": 1 }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
                        "required": false,
                        "schema": { "type": "array", "items": { "type": "string" } }
                    }
                ],
                "requestBody": {
                    "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiPageApiAccountGrouping_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/account-groupings/import-from-chunked-file": {
            "post": {
                "tags": ["Account Groupings"],
                "summary": "Import From Chunked File",
                "description": "Import a chunked file that contains a MindBridge account grouping file (.xlsx) or a _CCH group trial balance_ file to\ncreate a new account grouping entry with a complete set of account groups and MAC mappings.\n\nThe type of file being imported is determined by the `type` property.\n\n### Permissions\n- `api.account-groupings.write`",
                "operationId": "importFromChunkedFile",
                "requestBody": {
                    "content": {
                        "application/json": { "schema": { "$ref": "#/components/schemas/ApiImportAccountGroupingParams_Create" } }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Created",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAccountGrouping" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/webhook-event-logs/{webhookEventId}": {
            "get": {
                "tags": ["Webhook event logs"],
                "summary": "Read Webhook Event Log",
                "description": "Read an existing Webhook event log, identified by its ID.\n\n### Permissions\n- `api.webhooks.read`",
                "operationId": "readWebhookEventLog",
                "parameters": [{ "name": "webhookEventId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiWebhookEventLog_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/users/current": {
            "get": {
                "tags": ["Users"],
                "summary": "Get Current User",
                "description": "Read the current user tied to the provided API token.\n\nThis endpoint is not restricted by any permissions and can be used to test the API.\n",
                "operationId": "getCurrentUser",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiUser_Read" } } }
                    }
                }
            }
        },
        "/v1/transaction-id-previews/{transactionIdPreviewId}": {
            "get": {
                "tags": ["Transaction ID Previews"],
                "summary": "Read Transaction Id Preview",
                "description": "Read an existing transaction ID preview, identified by its ID.\n\n### Permissions\n- `api.analysis-sources.read`",
                "operationId": "readTransactionIdPreview",
                "parameters": [{ "name": "transactionIdPreviewId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTransactionIdPreview_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/task-histories/{taskHistoryId}": {
            "get": {
                "tags": ["Task History"],
                "summary": "Read Task History",
                "description": "Read an existing task history, identified by its ID.\n\n### Permissions\n- `api.tasks.read`",
                "operationId": "readTaskHistory",
                "parameters": [{ "name": "taskHistoryId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiTaskHistory_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/reporting-period-config/{reportingPeriodConfigurationId}": {
            "get": {
                "tags": ["Reporting Period Configuration"],
                "summary": "Read Reporting Period Configuration",
                "description": "Read an existing reporting period configuration, identified by its ID.\n\n### Permissions\n- `api.reporting-period-config.read`",
                "operationId": "readReportingPeriodConfiguration",
                "parameters": [
                    { "name": "reportingPeriodConfigurationId", "in": "path", "required": true, "schema": { "type": "string" } }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiReportingPeriodConfiguration_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Reporting Period Configuration"],
                "summary": "Delete Reporting Period Configuration",
                "description": "Delete an existing reporting period configuration, identified by its ID.\n\n### Permissions\n- `api.reporting-period-config.delete`",
                "operationId": "deleteReportingPeriodConfiguration",
                "parameters": [
                    { "name": "reportingPeriodConfigurationId", "in": "path", "required": true, "schema": { "type": "string" } }
                ],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/json-tables/{jsonTableId}": {
            "get": {
                "tags": ["JSON Tables"],
                "summary": "Read Json Table",
                "description": "Read an existing JSON Table, identified by its ID.\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "readJsonTable",
                "parameters": [{ "name": "jsonTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiJsonTable_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-results/{fileResultId}": {
            "get": {
                "tags": ["File Results"],
                "summary": "Read File Result",
                "description": "Read an existing file result, identified by its ID.\n",
                "operationId": "readFileResult",
                "parameters": [{ "name": "fileResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiFileExport_Read" } } }
                    }
                }
            }
        },
        "/v1/file-results/{fileResultId}/export": {
            "get": {
                "tags": ["File Results"],
                "summary": "Export File Result",
                "description": "Export a file result, identified by its ID.\n",
                "operationId": "exportFileResult",
                "parameters": [{ "name": "fileResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }
                    }
                }
            }
        },
        "/v1/file-manager/{fileManagerFileId}/export": {
            "get": {
                "tags": ["File Manager"],
                "summary": "Export File Manager File",
                "description": "Export an existing **file manager file**, identified by its ID.\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "exportFileManagerFile",
                "parameters": [{ "name": "fileManagerFileId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/octet-stream": { "schema": { "type": "string", "format": "binary" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/file-infos/{fileInfoId}": {
            "get": {
                "tags": ["File Info"],
                "summary": "Get File Info",
                "description": "Read an existing file info, identified by its ID.\n\n### Permissions\n- `api.file-infos.read`",
                "operationId": "getFileInfo",
                "parameters": [{ "name": "fileInfoId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        { "$ref": "#/components/schemas/ApiFileInfo" },
                                        { "$ref": "#/components/schemas/ApiTabularFileInfo" }
                                    ]
                                }
                            }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/engagement-account-groupings/{engagementAccountGroupingId}": {
            "get": {
                "tags": ["Engagement Account Groupings"],
                "summary": "Read Engagement Account Grouping",
                "description": "Read an existing engagement account grouping, identified by its ID.\n\n### Permissions\n- `api.engagement-account-groupings.read`",
                "operationId": "readEngagementAccountGrouping",
                "parameters": [{ "name": "engagementAccountGroupingId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": { "schema": { "$ref": "#/components/schemas/ApiEngagementAccountGrouping_Read" } }
                        }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/databricks-auth/{authorizationId}": {
            "get": {
                "tags": ["Databricks Authorization"],
                "summary": "Get Databricks Authorization",
                "description": "Read an existing Databricks authorization, identified by its ID.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "getDatabricksAuthorization",
                "parameters": [{ "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Read" } } }
                    }
                }
            },
            "delete": {
                "tags": ["Databricks Authorization"],
                "summary": "Delete Databricks Authorization",
                "description": "Delete an existing Databricks authorization, identified by its ID.\n\n### Permissions\n\n- `api.connections.write`\n",
                "operationId": "deleteDatabricksAuthorization",
                "parameters": [{ "name": "authorizationId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } }
            }
        },
        "/v1/data-tables/{dataTableId}": {
            "get": {
                "tags": ["Data Tables"],
                "summary": "Read Data Table",
                "description": "Read an existing data table, identified by its ID.\n\n### Permissions\n- `api.data-tables.read`",
                "operationId": "readDataTable",
                "parameters": [{ "name": "dataTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataTable_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/data-source-import-tasks/{dataSourceImportTaskId}": {
            "get": {
                "tags": ["Data Source Import Tasks"],
                "summary": "Read Data Source Import Task",
                "description": "Read an existing data source import task, identified by its ID.\n\n### Permissions\n\n- `api.data-catalog-entries.read`\n",
                "operationId": "readDataSourceImportTask",
                "parameters": [{ "name": "dataSourceImportTaskId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiDataSourceImportTask_Read" } } }
                    }
                }
            }
        },
        "/v1/connections/{connectionId}": {
            "get": {
                "tags": ["Connections"],
                "summary": "Read Connection",
                "description": "Read an existing connection, identified by its ID.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "readConnection",
                "parameters": [{ "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnection_Read" } } }
                    }
                }
            },
            "delete": {
                "tags": ["Connections"],
                "summary": "Delete Connection",
                "description": "Delete an existing connection, identified by its ID.\n\n### Permissions\n\n- `api.connections.delete`\n",
                "operationId": "deleteConnection",
                "parameters": [{ "name": "connectionId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } }
            }
        },
        "/v1/connection-test-results/{connectionTestResultId}": {
            "get": {
                "tags": ["Connection Test Results"],
                "summary": "Read Connection Test Result",
                "description": "Read an existing connection test result, identified by its ID.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "readConnectionTestResult",
                "parameters": [{ "name": "connectionTestResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnectionTestResult_Read" } } }
                    }
                }
            }
        },
        "/v1/connection-tables/{connectionTableId}": {
            "get": {
                "tags": ["Data Connection Tables"],
                "summary": "Read Connection Tables",
                "description": "Read an existing connection table, identified by its ID.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "readConnectionTables",
                "parameters": [{ "name": "connectionTableId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnectionTable_Read" } } }
                    }
                }
            }
        },
        "/v1/connection-tables-results/{connectionTablesResultId}": {
            "get": {
                "tags": ["Connection Tables Results"],
                "summary": "Read Connection Tables Result",
                "description": "Read an existing connection tables result, identified by its ID.\n\n### Permissions\n\n- `api.connections.read`\n",
                "operationId": "readConnectionTablesResult",
                "parameters": [{ "name": "connectionTablesResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiConnectionTablesResult_Read" } } }
                    }
                }
            }
        },
        "/v1/chunked-files/{chunkedFileId}": {
            "get": {
                "tags": ["Chunked Files"],
                "summary": "Read Chunked File",
                "description": "Returns the state of a pending chunked file import, identified by its ID.\n\n### Permissions\n- `api.file-manager.read`",
                "operationId": "readChunkedFile",
                "parameters": [{ "name": "chunkedFileId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiChunkedFile_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            },
            "delete": {
                "tags": ["Chunked Files"],
                "summary": "Delete Chunked File",
                "description": "Deletes a pending chunked file import, identified by its ID.\n\n### Permissions\n- `api.file-manager.delete`",
                "operationId": "deleteChunkedFile",
                "parameters": [{ "name": "chunkedFileId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": { "204": { "description": "No Content" } },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/async-results/{asyncResultId}": {
            "get": {
                "tags": ["Async Results"],
                "summary": "Read Async Result",
                "description": "Read an existing async result, identified by its ID.\n\n### Permissions\n\nThis endpoint inherits the permissions from the target entity in scope. For example, if the async result represents an **analysis source**,\nthen the requesting token must contain the permission: `api.analysis-sources.read`.\n",
                "operationId": "readAsyncResult",
                "parameters": [{ "name": "asyncResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } } }
                    }
                }
            }
        },
        "/v1/api-tokens/current": {
            "get": {
                "tags": ["API Tokens"],
                "summary": "Get Current API Token",
                "description": "Read the API token record specified by the API token.\n\nThis endpoint is not restricted by any permissions and can be used to test the API.\n",
                "operationId": "getCurrentApiToken",
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiApiToken_Read" } } }
                    }
                }
            }
        },
        "/v1/analysis-types/{analysisTypeId}": {
            "get": {
                "tags": ["Analysis Types"],
                "summary": "Read Analysis Type",
                "description": "Read an existing analysis type, identified by its ID.\n\n### Permissions\n- `api.analysis-types.read`",
                "operationId": "readAnalysisType",
                "parameters": [{ "name": "analysisTypeId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisType_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-sources/{analysisSourceId}/effective-date-metrics": {
            "get": {
                "tags": ["Analysis Sources"],
                "summary": "Read Effective Date Metrics",
                "description": "Query the results of the **Analysis Period** step in the data import process (based on the effective date column), including displaying the\nhistogram by day, week, or month, as well as debit and credit sums for the period and more.\n\n### Permissions\n- `api.analysis-sources.read`",
                "operationId": "readEffectiveDateMetrics",
                "parameters": [
                    { "name": "analysisSourceId", "in": "path", "required": true, "schema": { "type": "string" } },
                    { "name": "period", "in": "query", "required": true, "schema": { "type": "string", "enum": ["DAY", "WEEK", "MONTH"] } }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiEffectiveDateMetrics_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-source-types/{analysisSourceTypeId}": {
            "get": {
                "tags": ["Analysis Source Types"],
                "summary": "Read Analysis Source Type",
                "description": "Read an existing analysis source type, identified by its ID.\n\n### Permissions\n- `api.analysis-source-types.read`",
                "operationId": "readAnalysisSourceType",
                "parameters": [{ "name": "analysisSourceTypeId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisSourceType_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analysis-results/{analysisResultId}": {
            "get": {
                "tags": ["Analysis Results"],
                "summary": "Read Analysis Result",
                "description": "Read an existing analysis result, identified by its ID.\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "readAnalysisResult",
                "parameters": [{ "name": "analysisResultId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisResult_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        },
        "/v1/analyses/{analysisId}/status": {
            "get": {
                "tags": ["Analyses"],
                "summary": "Read Analysis Status",
                "description": "See a summary of the readiness of an existing analysis, including errors, missing analysis sources and more.\n\n### Permissions\n- `api.analyses.read`",
                "operationId": "readAnalysisStatus",
                "parameters": [{ "name": "analysisId", "in": "path", "required": true, "schema": { "type": "string" } }],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiAnalysisStatus_Read" } } }
                    }
                },
                "security": [{ "mindbridge-api": [] }]
            }
        }
    },
    "components": {
        "schemas": {
            "ObjectId": { "type": "string" },
            "WebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": [
                            "export.ready",
                            "file.added",
                            "data.added",
                            "ingestion.complete",
                            "ingestion.failed",
                            "analysis.complete",
                            "analysis.failed",
                            "unmapped.accounts",
                            "engagement.created",
                            "engagement.updated",
                            "engagement.deleted",
                            "analysis.created",
                            "analysis.updated",
                            "analysis.deleted",
                            "analysis.archived",
                            "analysis.unarchived",
                            "user.invited",
                            "user.status",
                            "user.role",
                            "user.deleted",
                            "user.login"
                        ]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    }
                }
            },
            "AnalysisResultWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["analysis.complete", "analysis.failed"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/AnalysisResultWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "AnalysisWebhookData": {
                "properties": {
                    "engagementId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Engagement associated with the webhook event."
                    },
                    "analysisId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Analysis associated with the webhook event."
                    }
                }
            },
            "AnalysisSourceWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["ingestion.complete", "ingestion.failed"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/AnalysisSourceWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "AnalysisSourceWebhookData": {
                "properties": {
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "analysisSourceId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Analysis Source associated with the event."
                    },
                    "analysisId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Analysis associated with the webhook event."
                    },
                    "engagementId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Engagement associated with the webhook event."
                    }
                }
            },
            "AnalysisResultWebhookData": {
                "properties": {
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "analysisId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Analysis associated with the webhook event."
                    },
                    "analysisResultId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Analysis Result associated with the webhook event."
                    },
                    "engagementId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Engagement associated with the webhook event."
                    }
                }
            },
            "EngagementSubscriptionWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["unmapped.accounts"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/EngagementSubscriptionWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "EngagementSubscriptionWebhookData": {
                "properties": {
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "engagementId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Engagement associated with the webhook event."
                    },
                    "targetUserId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user associated with the webhook event."
                    }
                }
            },
            "EngagementWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["engagement.created", "engagement.updated", "engagement.deleted"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/EngagementWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "EngagementWebhookData": {
                "properties": {
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "engagementId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the Engagement associated with the webhook event."
                    }
                }
            },
            "FileManagerWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["file.added", "export.ready"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/FileManagerWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "FileManagerWebhookData": {
                "properties": {
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "fileManagerFileId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the data associated with the webhook event."
                    },
                    "fileExportId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the file export associated with the webhook event."
                    }
                }
            },
            "UserWebhookPayload": {
                "properties": {
                    "type": { "type": "string", "description": "The event type that triggered the webhook.", "enum": ["user.deleted"] },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": { "$ref": "#/components/schemas/UserWebhookData", "description": "The data associated with the webhook event." }
                }
            },
            "UserWebhookData": {
                "properties": {
                    "targetUserId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the data associated with the webhook event."
                    }
                }
            },
            "UserRoleWebhookPayload": {
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The event type that triggered the webhook.",
                        "enum": ["user.invited", "user.role"]
                    },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/UserRoleWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "UserRoleWebhookData": {
                "properties": {
                    "role": {
                        "type": "string",
                        "description": "The MindBridge role assigned to the user. [Learn about user roles](https://support.mindbridge.ai/hc/en-us/articles/360056394954-User-roles-available-in-MindBridge)",
                        "enum": [
                            "ROLE_ADMIN",
                            "ROLE_ORGANIZATION_ADMIN",
                            "ROLE_USER",
                            "ROLE_CLIENT",
                            "ROLE_MINDBRIDGE_SUPPORT",
                            "ROLE_USER_ADMIN"
                        ]
                    },
                    "targetUserId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the data associated with the webhook event."
                    }
                }
            },
            "UserLoginWebhookPayload": {
                "properties": {
                    "type": { "type": "string", "description": "The event type that triggered the webhook.", "enum": ["user.login"] },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/UserLoginWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "UserLoginWebhookData": {},
            "UserStatusWebhookPayload": {
                "properties": {
                    "type": { "type": "string", "description": "The event type that triggered the webhook.", "enum": ["user.status"] },
                    "eventId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the event that triggered the outbound request."
                    },
                    "timestamp": { "type": "string", "format": "date-time", "description": "The time that the webhook was triggered." },
                    "senderId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the registered webhook configuration that initiated the outbound request."
                    },
                    "tenantId": { "type": "string", "description": "The name of the tenant that triggered the webhook." },
                    "userId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the user that initiated the event that triggered the webhook."
                    },
                    "data": {
                        "$ref": "#/components/schemas/UserStatusWebhookData",
                        "description": "The data associated with the webhook event."
                    }
                }
            },
            "UserStatusWebhookData": {
                "properties": {
                    "targetUserId": {
                        "$ref": "#/components/schemas/ObjectId",
                        "description": "The ID of the data associated with the webhook event."
                    },
                    "status": { "type": "string", "description": "Identifies the status change that triggered the webhook event." }
                }
            },
            "ApiWebhook_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the webhook.", "minLength": 1 },
                    "url": { "type": "string", "description": "The URL to which the webhook will send notifications.", "minLength": 1 },
                    "technicalContactId": {
                        "type": "string",
                        "description": "A reference to an administrative user used to inform system administrators of issues with the webhooks."
                    },
                    "events": {
                        "type": "array",
                        "description": "A list of events that will trigger this webhook.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "EXPORT_READY",
                                "FILE_MANAGER_FILE_ADDED",
                                "DATA_ADDED",
                                "INGESTION_COMPLETE",
                                "INGESTION_FAILED",
                                "ANALYSIS_COMPLETE",
                                "ANALYSIS_FAILED",
                                "UNMAPPED_ACCOUNTS",
                                "ENGAGEMENT_CREATED",
                                "ENGAGEMENT_UPDATED",
                                "ENGAGEMENT_DELETED",
                                "ANALYSIS_CREATED",
                                "ANALYSIS_UPDATED",
                                "ANALYSIS_DELETED",
                                "ANALYSIS_ARCHIVED",
                                "ANALYSIS_UNARCHIVED",
                                "USER_INVITED",
                                "USER_STATUS_UPDATED",
                                "USER_ROLE_UPDATED",
                                "USER_DELETED",
                                "USER_LOGIN"
                            ],
                            "title": "Event Type"
                        },
                        "maxItems": 2147483647,
                        "minItems": 1
                    },
                    "status": { "type": "string", "description": "The current status of the webhook.", "enum": ["ACTIVE", "INACTIVE"] }
                },
                "required": ["events", "name", "status", "technicalContactId", "url", "version"],
                "title": "Webhook"
            },
            "ApiUserInfo_Read": {
                "type": "object",
                "properties": {
                    "userId": { "type": "string", "description": "Identifies the user." },
                    "userName": { "type": "string", "description": "The name of the user." }
                },
                "title": "User Info"
            },
            "ApiWebhook_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": { "type": "string", "format": "date-time" },
                    "lastModifiedDate": { "type": "string", "format": "date-time" },
                    "createdUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "lastModifiedUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "name": { "type": "string", "description": "The name of the webhook." },
                    "url": { "type": "string", "description": "The URL to which the webhook will send notifications." },
                    "technicalContactId": {
                        "type": "string",
                        "description": "A reference to an administrative user used to inform system administrators of issues with the webhooks."
                    },
                    "events": {
                        "type": "array",
                        "description": "A list of events that will trigger this webhook.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "EXPORT_READY",
                                "FILE_MANAGER_FILE_ADDED",
                                "DATA_ADDED",
                                "INGESTION_COMPLETE",
                                "INGESTION_FAILED",
                                "ANALYSIS_COMPLETE",
                                "ANALYSIS_FAILED",
                                "UNMAPPED_ACCOUNTS",
                                "ENGAGEMENT_CREATED",
                                "ENGAGEMENT_UPDATED",
                                "ENGAGEMENT_DELETED",
                                "ANALYSIS_CREATED",
                                "ANALYSIS_UPDATED",
                                "ANALYSIS_DELETED",
                                "ANALYSIS_ARCHIVED",
                                "ANALYSIS_UNARCHIVED",
                                "USER_INVITED",
                                "USER_STATUS_UPDATED",
                                "USER_ROLE_UPDATED",
                                "USER_DELETED",
                                "USER_LOGIN"
                            ],
                            "title": "Event Type"
                        }
                    },
                    "publicKey": { "type": "string", "description": "The public key used to verify the webhook signature." },
                    "status": { "type": "string", "description": "The current status of the webhook.", "enum": ["ACTIVE", "INACTIVE"] },
                    "keyGenerationTimestamp": { "type": "string", "format": "date-time" }
                },
                "title": "Webhook"
            },
            "ApiUser_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "role": {
                        "type": "string",
                        "description": "The MindBridge role assigned to the user. [Learn about user roles](https://support.mindbridge.ai/hc/en-us/articles/360056394954-User-roles-available-in-MindBridge)",
                        "enum": [
                            "ROLE_ADMIN",
                            "ROLE_ORGANIZATION_ADMIN",
                            "ROLE_USER",
                            "ROLE_CLIENT",
                            "ROLE_MINDBRIDGE_SUPPORT",
                            "ROLE_USER_ADMIN"
                        ]
                    },
                    "enabled": { "type": "boolean", "description": "Indicates whether or not the user is enabled within this tenant." }
                },
                "required": ["enabled", "role", "version"],
                "title": "User"
            },
            "ApiLoginRecord_Read": {
                "type": "object",
                "properties": {
                    "timestamp": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The time when the user logged in or the API token was used."
                    },
                    "ipAddress": {
                        "type": "string",
                        "description": "The IP address used when logging in or when making a request with an API token."
                    }
                },
                "title": "Login Record"
            },
            "ApiUser_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "firstName": { "type": "string", "description": "The user's first name." },
                    "lastName": { "type": "string", "description": "The user's last name." },
                    "email": { "type": "string", "description": "The user's email address." },
                    "role": {
                        "type": "string",
                        "description": "The MindBridge role assigned to the user. [Learn about user roles](https://support.mindbridge.ai/hc/en-us/articles/360056394954-User-roles-available-in-MindBridge)",
                        "enum": [
                            "ROLE_ADMIN",
                            "ROLE_ORGANIZATION_ADMIN",
                            "ROLE_USER",
                            "ROLE_CLIENT",
                            "ROLE_MINDBRIDGE_SUPPORT",
                            "ROLE_USER_ADMIN"
                        ]
                    },
                    "enabled": { "type": "boolean", "description": "Indicates whether or not the user is enabled within this tenant." },
                    "validated": {
                        "type": "boolean",
                        "description": "Indicates whether or not the user has opened the account activation link after being created."
                    },
                    "serviceAccount": {
                        "type": "boolean",
                        "description": "Indicates whether or not this account is used as part of an API token."
                    },
                    "recentLogins": {
                        "type": "array",
                        "description": "A list of the latest successful logins or token usage events by IP address.",
                        "items": { "$ref": "#/components/schemas/ApiLoginRecord_Read" }
                    }
                },
                "title": "User"
            },
            "ApiTask_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "status": {
                        "type": "string",
                        "description": "The current state of the task.",
                        "enum": ["OPEN", "NORMAL", "COMPLETED", "DISMISSED", "RESOLVED"],
                        "title": "Task Status"
                    },
                    "assignedId": { "type": "string", "description": "Identifies the user assigned to this task." },
                    "description": { "type": "string", "description": "A description of the task." },
                    "sample": { "type": "string", "description": "Which sample this task is a part of." },
                    "auditAreas": {
                        "type": "array",
                        "description": "Which audit areas this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "assertions": {
                        "type": "array",
                        "description": "Which assertions this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "taskApprovalStatus": {
                        "type": "string",
                        "enum": ["PENDING", "REJECTED", "APPROVED"],
                        "title": "Task Approval Status"
                    },
                    "dueDate": { "type": "string", "format": "date" },
                    "approverId": { "type": "string" },
                    "tags": { "type": "array", "items": { "type": "string" } }
                },
                "required": ["status", "version"],
                "title": "Task"
            },
            "ApiTaskComment_Read": {
                "type": "object",
                "properties": {
                    "commentText": { "type": "string", "description": "The text of the comment." },
                    "captured": { "type": "string", "format": "date-time", "description": "The timestamp when this comment was made." },
                    "authorId": { "type": "string", "description": "The unique identifier of the user who created this comment." }
                },
                "title": "Task Comment"
            },
            "ApiTask_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisResultId": { "type": "string" },
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the associated analysis type." },
                    "transaction": { "type": "string", "description": "The name of the associated transaction." },
                    "name": { "type": "string", "description": "The task's name. Generated based on on the related entry or transaction." },
                    "rowId": { "type": "integer", "format": "int64", "description": "Identifies the associated entry." },
                    "transactionId": { "type": "integer", "format": "int64", "description": "Identifies the associated transaction." },
                    "status": {
                        "type": "string",
                        "description": "The current state of the task.",
                        "enum": ["OPEN", "NORMAL", "COMPLETED", "DISMISSED", "RESOLVED"],
                        "title": "Task Status"
                    },
                    "assignedId": { "type": "string", "description": "Identifies the user assigned to this task." },
                    "description": { "type": "string", "description": "A description of the task." },
                    "comments": {
                        "type": "array",
                        "description": "A list of all the comments that have been made on this task.",
                        "items": { "$ref": "#/components/schemas/ApiTaskComment_Read" }
                    },
                    "sample": { "type": "string", "description": "Which sample this task is a part of." },
                    "auditAreas": {
                        "type": "array",
                        "description": "Which audit areas this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "assertions": {
                        "type": "array",
                        "description": "Which assertions this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of entry this task is associated with.",
                        "enum": [
                            "ENTRY",
                            "TRANSACTION",
                            "AP_ENTRY",
                            "AR_ENTRY",
                            "AP_OUTSTANDING_ENTRY",
                            "AR_OUTSTANDING_ENTRY",
                            "TRA_ENTRY",
                            "SUBLEDGER_ENTRY"
                        ],
                        "title": "Task Type"
                    },
                    "sampleType": {
                        "type": "string",
                        "description": "The sampling method used to create this task.",
                        "enum": ["RISK_BASED", "RANDOM", "MANUAL", "MONETARY_UNIT_SAMPLING"],
                        "title": "Sample Type"
                    },
                    "entryType": {
                        "type": "string",
                        "description": "For AP and AR analyses this is the entry type for the associated entry."
                    },
                    "vendorName": { "type": "string", "description": "For AP analyses this is the vendor name for the associated entry." },
                    "customerName": {
                        "type": "string",
                        "description": "For AR analyses this is the customer name for the associated entry."
                    },
                    "invoiceRef": {
                        "type": "string",
                        "description": "For AP and AR analyses this is the Invoice ref value for the associated entry."
                    },
                    "creditValue": {
                        "type": "integer",
                        "format": "int64",
                        "deprecated": true,
                        "description": "The credit value of the associated transaction or entry, formatted as MONEY_100."
                    },
                    "debitValue": {
                        "type": "integer",
                        "format": "int64",
                        "deprecated": true,
                        "description": "The debit value of the associated transaction or entry, formatted as MONEY_100."
                    },
                    "riskScores": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int32" },
                        "description": "A map of ensemble names or IDs mapped to their risk score value. The value is a PERCENTAGE_FIXED_POINT type."
                    },
                    "filterStatement": {
                        "type": "string",
                        "description": "The filter statement that was applied when creating this task via a bulk task creation."
                    },
                    "taskApprovalStatus": {
                        "type": "string",
                        "enum": ["PENDING", "REJECTED", "APPROVED"],
                        "title": "Task Approval Status"
                    },
                    "dueDate": { "type": "string", "format": "date" },
                    "approverId": { "type": "string" },
                    "tags": { "type": "array", "items": { "type": "string" } },
                    "amounts": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Money_Read" } }
                },
                "title": "Task"
            },
            "Money_Read": {
                "type": "object",
                "properties": { "amount": { "type": "integer", "format": "int64" }, "currency": { "type": "string" } }
            },
            "ApiFilterAccountCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "ACCOUNT_NODE_ARRAY",
                                "enum": ["ACCOUNT_NODE_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "accountSelections": { "type": "array", "items": { "$ref": "#/components/schemas/ApiFilterAccountSelection" } }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Account Condition"
            },
            "ApiFilterAccountCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "ACCOUNT_NODE_ARRAY",
                                "enum": ["ACCOUNT_NODE_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "accountSelections": {
                                "type": "array",
                                "items": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Update" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Account Condition"
            },
            "ApiFilterAccountSelection": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The display name of the account being selected." },
                    "code": { "type": "string", "description": "The account grouping code or account ID of the selected account." },
                    "useAccountId": {
                        "type": "boolean",
                        "description": "If `true` then the selected account will be identified by the account ID rather than the grouping code."
                    }
                },
                "title": "Filter Account Selection"
            },
            "ApiFilterAccountSelection_Update": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The display name of the account being selected." },
                    "code": { "type": "string", "description": "The account grouping code or account ID of the selected account." },
                    "useAccountId": {
                        "type": "boolean",
                        "description": "If `true` then the selected account will be identified by the account ID rather than the grouping code."
                    }
                },
                "title": "Filter Account Selection"
            },
            "ApiFilterComplexMonetaryFlowCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "COMPLEX_FLOW",
                                "enum": ["COMPLEX_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Complex Monetary Flow Condition"
            },
            "ApiFilterComplexMonetaryFlowCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "COMPLEX_FLOW",
                                "enum": ["COMPLEX_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Complex Monetary Flow Condition"
            },
            "ApiFilterCondition": {
                "type": "object",
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "GROUP": "#/components/schemas/ApiFilterGroupCondition",
                        "STRING": "#/components/schemas/ApiFilterStringCondition",
                        "STRING_ARRAY": "#/components/schemas/ApiFilterStringArrayCondition",
                        "CONTROL_POINT": "#/components/schemas/ApiFilterControlPointCondition",
                        "ACCOUNT_NODE_ARRAY": "#/components/schemas/ApiFilterAccountCondition",
                        "TYPEAHEAD_ENTRY": "#/components/schemas/ApiFilterTypeaheadEntryCondition",
                        "POPULATIONS": "#/components/schemas/ApiFilterPopulationsCondition",
                        "RISK_SCORE": "#/components/schemas/ApiFilterRiskScoreCondition",
                        "MONETARY_FLOW": "#/components/schemas/ApiFilterMonetaryFlowCondition",
                        "MONEY": "#/components/schemas/ApiFilterMonetaryValueCondition",
                        "MATERIALITY": "#/components/schemas/ApiFilterMaterialityCondition",
                        "NUMERICAL": "#/components/schemas/ApiFilterNumericalValueCondition",
                        "DATE": "#/components/schemas/ApiFilterDateCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterGroupCondition" },
                    { "$ref": "#/components/schemas/ApiFilterStringCondition" },
                    { "$ref": "#/components/schemas/ApiFilterStringArrayCondition" },
                    { "$ref": "#/components/schemas/ApiFilterControlPointCondition" },
                    { "$ref": "#/components/schemas/ApiFilterAccountCondition" },
                    { "$ref": "#/components/schemas/ApiFilterTypeaheadEntryCondition" },
                    { "$ref": "#/components/schemas/ApiFilterPopulationsCondition" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterDateCondition" }
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The type of condition.",
                        "enum": [
                            "GROUP",
                            "STRING",
                            "STRING_ARRAY",
                            "CONTROL_POINT",
                            "ACCOUNT_NODE_ARRAY",
                            "TYPEAHEAD_ENTRY",
                            "POPULATIONS",
                            "RISK_SCORE",
                            "MONETARY_FLOW",
                            "MONEY",
                            "MATERIALITY",
                            "NUMERICAL",
                            "DATE"
                        ],
                        "title": "Filter Condition Type"
                    }
                },
                "title": "Filter Condition"
            },
            "ApiFilterCondition_Update": {
                "type": "object",
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "GROUP": "#/components/schemas/ApiFilterGroupCondition",
                        "STRING": "#/components/schemas/ApiFilterStringCondition",
                        "STRING_ARRAY": "#/components/schemas/ApiFilterStringArrayCondition",
                        "CONTROL_POINT": "#/components/schemas/ApiFilterControlPointCondition",
                        "ACCOUNT_NODE_ARRAY": "#/components/schemas/ApiFilterAccountCondition",
                        "TYPEAHEAD_ENTRY": "#/components/schemas/ApiFilterTypeaheadEntryCondition",
                        "POPULATIONS": "#/components/schemas/ApiFilterPopulationsCondition",
                        "RISK_SCORE": "#/components/schemas/ApiFilterRiskScoreCondition",
                        "MONETARY_FLOW": "#/components/schemas/ApiFilterMonetaryFlowCondition",
                        "MONEY": "#/components/schemas/ApiFilterMonetaryValueCondition",
                        "MATERIALITY": "#/components/schemas/ApiFilterMaterialityCondition",
                        "NUMERICAL": "#/components/schemas/ApiFilterNumericalValueCondition",
                        "DATE": "#/components/schemas/ApiFilterDateCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterGroupCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterStringCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterStringArrayCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterControlPointCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterAccountCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterTypeaheadEntryCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterPopulationsCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Update" }
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The type of condition.",
                        "enum": [
                            "GROUP",
                            "STRING",
                            "STRING_ARRAY",
                            "CONTROL_POINT",
                            "ACCOUNT_NODE_ARRAY",
                            "TYPEAHEAD_ENTRY",
                            "POPULATIONS",
                            "RISK_SCORE",
                            "MONETARY_FLOW",
                            "MONEY",
                            "MATERIALITY",
                            "NUMERICAL",
                            "DATE"
                        ],
                        "title": "Filter Condition Type"
                    }
                },
                "required": ["type"],
                "title": "Filter Condition"
            },
            "ApiFilterControlPointCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "CONTROL_POINT",
                                "enum": ["CONTROL_POINT"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskLevel": {
                                "type": "string",
                                "description": "The risk level of the selected control points.",
                                "enum": ["HIGH_RISK", "MEDIUM_RISK", "LOW_RISK"],
                                "title": "Filter Control Point Risk Level"
                            },
                            "controlPoints": {
                                "type": "array",
                                "description": "A list of control point selections.",
                                "items": { "$ref": "#/components/schemas/ApiFilterControlPointSelection" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Control Point Condition"
            },
            "ApiFilterControlPointCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "CONTROL_POINT",
                                "enum": ["CONTROL_POINT"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskLevel": {
                                "type": "string",
                                "description": "The risk level of the selected control points.",
                                "enum": ["HIGH_RISK", "MEDIUM_RISK", "LOW_RISK"],
                                "title": "Filter Control Point Risk Level"
                            },
                            "controlPoints": {
                                "type": "array",
                                "description": "A list of control point selections.",
                                "items": { "$ref": "#/components/schemas/ApiFilterControlPointSelection_Update" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Control Point Condition"
            },
            "ApiFilterControlPointSelection": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The ID of the selected control point." },
                    "name": { "type": "string", "description": "The display name of the control point." },
                    "symbolicName": {
                        "type": "string",
                        "description": "The symbolic name of the target control point. For custom control points this is the symbolic name of the control point it is based on."
                    },
                    "rulesBased": { "type": "boolean" }
                },
                "title": "Filter Control Point Selection"
            },
            "ApiFilterControlPointSelection_Update": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The ID of the selected control point." },
                    "name": { "type": "string", "description": "The display name of the control point." },
                    "symbolicName": {
                        "type": "string",
                        "description": "The symbolic name of the target control point. For custom control points this is the symbolic name of the control point it is based on."
                    },
                    "rulesBased": { "type": "boolean" }
                },
                "title": "Filter Control Point Selection"
            },
            "ApiFilterDateCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": {
                                "type": "string",
                                "description": "The type of date condition.",
                                "enum": ["BEFORE", "AFTER", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Date Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "dateType",
                    "mapping": {
                        "AFTER": "#/components/schemas/ApiFilterDateValueCondition",
                        "BEFORE": "#/components/schemas/ApiFilterDateValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterDateValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterDateRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterDateRangeCondition" }
                ],
                "required": ["type"],
                "title": "Filter Date Condition"
            },
            "ApiFilterDateCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": {
                                "type": "string",
                                "description": "The type of date condition.",
                                "enum": ["BEFORE", "AFTER", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Date Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "dateType",
                    "mapping": {
                        "AFTER": "#/components/schemas/ApiFilterDateValueCondition",
                        "BEFORE": "#/components/schemas/ApiFilterDateValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterDateValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterDateRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterDateRangeCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Date Condition"
            },
            "ApiFilterDateRangeCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": { "type": "string", "default": "BETWEEN", "enum": ["BETWEEN"], "title": "Filter Date Type" },
                            "rangeStart": {
                                "type": "string",
                                "format": "date",
                                "description": "The start of an ISO date range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "string",
                                "format": "date",
                                "description": "The end of an ISO date range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Range Condition"
            },
            "ApiFilterDateRangeCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": { "type": "string", "default": "BETWEEN", "enum": ["BETWEEN"], "title": "Filter Date Type" },
                            "rangeStart": {
                                "type": "string",
                                "format": "date",
                                "description": "The start of an ISO date range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "string",
                                "format": "date",
                                "description": "The end of an ISO date range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Range Condition"
            },
            "ApiFilterDateValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": { "type": "string", "enum": ["AFTER", "BEFORE", "SPECIFIC_VALUE"], "title": "Filter Date Type" },
                            "value": { "type": "string", "format": "date", "description": "An ISO date value to compare entries to." }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Value Condition"
            },
            "ApiFilterDateValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": { "type": "string", "enum": ["AFTER", "BEFORE", "SPECIFIC_VALUE"], "title": "Filter Date Type" },
                            "value": { "type": "string", "format": "date", "description": "An ISO date value to compare entries to." }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Value Condition"
            },
            "ApiFilterGroupCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "GROUP", "enum": ["GROUP"], "title": "Filter Condition Type" },
                            "operator": {
                                "type": "string",
                                "description": "The operator to be applied to conditions within this group.",
                                "enum": ["AND", "OR"],
                                "title": "Filter Group Operator"
                            },
                            "conditions": {
                                "type": "array",
                                "description": "The entries within this condition group.",
                                "items": { "$ref": "#/components/schemas/ApiFilterCondition" },
                                "minItems": 1
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Group Condition"
            },
            "ApiFilterGroupCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "GROUP", "enum": ["GROUP"], "title": "Filter Condition Type" },
                            "operator": {
                                "type": "string",
                                "description": "The operator to be applied to conditions within this group.",
                                "enum": ["AND", "OR"],
                                "title": "Filter Group Operator"
                            },
                            "conditions": {
                                "type": "array",
                                "description": "The entries within this condition group.",
                                "items": { "$ref": "#/components/schemas/ApiFilterCondition" },
                                "minItems": 1
                            }
                        }
                    }
                ],
                "required": ["conditions", "operator", "type"],
                "title": "Filter Group Condition"
            },
            "ApiFilterMaterialityCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "description": "The type of materiality comparison.",
                                "enum": ["ABOVE", "BELOW", "PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "materialityOption",
                    "mapping": {
                        "ABOVE": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "BELOW": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "PERCENTAGE": "#/components/schemas/ApiFilterMaterialityValueCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityOptionCondition" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityValueCondition" }
                ],
                "required": ["type"],
                "title": "Filter Materiality Condition"
            },
            "ApiFilterMaterialityCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "description": "The type of materiality comparison.",
                                "enum": ["ABOVE", "BELOW", "PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "materialityOption",
                    "mapping": {
                        "ABOVE": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "BELOW": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "PERCENTAGE": "#/components/schemas/ApiFilterMaterialityValueCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityOptionCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityValueCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Materiality Condition"
            },
            "ApiFilterMaterialityOptionCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "enum": ["ABOVE", "BELOW"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Option Condition"
            },
            "ApiFilterMaterialityOptionCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "enum": ["ABOVE", "BELOW"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Option Condition"
            },
            "ApiFilterMaterialityValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "default": "PERCENTAGE",
                                "enum": ["PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            },
                            "value": {
                                "type": "number",
                                "format": "double",
                                "description": "The percentage value, as a decimal number, with 100.00 being 100%."
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Value Condition"
            },
            "ApiFilterMaterialityValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "default": "PERCENTAGE",
                                "enum": ["PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            },
                            "value": {
                                "type": "number",
                                "format": "double",
                                "description": "The percentage value, as a decimal number, with 100.00 being 100%."
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Value Condition"
            },
            "ApiFilterMonetaryFlowCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "description": "The type of monetary flow this filter will match.",
                                "enum": ["SIMPLE_FLOW", "COMPLEX_FLOW", "SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryFlowType",
                    "mapping": {
                        "SIMPLE_FLOW": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition",
                        "COMPLEX_FLOW": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition",
                        "SPECIFIC_FLOW": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition" },
                    { "$ref": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Flow Condition"
            },
            "ApiFilterMonetaryFlowCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "description": "The type of monetary flow this filter will match.",
                                "enum": ["SIMPLE_FLOW", "COMPLEX_FLOW", "SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryFlowType",
                    "mapping": {
                        "SIMPLE_FLOW": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition",
                        "COMPLEX_FLOW": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition",
                        "SPECIFIC_FLOW": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Flow Condition"
            },
            "ApiFilterMonetaryValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "description": "The type of monetary value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Monetary Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterMonetaryValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueRangeCondition" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Condition"
            },
            "ApiFilterMonetaryValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "description": "The type of monetary value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Monetary Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterMonetaryValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueRangeCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Condition"
            },
            "ApiFilterMonetaryValueRangeCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Monetary Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Range Condition"
            },
            "ApiFilterMonetaryValueRangeCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Monetary Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Range Condition"
            },
            "ApiFilterMonetaryValueValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Monetary Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Value Condition"
            },
            "ApiFilterMonetaryValueValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Monetary Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Value Condition"
            },
            "ApiFilterNumericalValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "description": "The type of numerical value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "numericalValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterNumericalValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueRangeCondition" }
                ],
                "required": ["type"],
                "title": "Filter Numerical Condition"
            },
            "ApiFilterNumericalValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "description": "The type of numerical value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "numericalValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterNumericalValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueRangeCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Numerical Condition"
            },
            "ApiFilterNumericalValueRangeCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start value of a range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end value of a range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Range Condition"
            },
            "ApiFilterNumericalValueRangeCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start value of a range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end value of a range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Range Condition"
            },
            "ApiFilterNumericalValueValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "value": { "type": "integer", "format": "int64", "description": "A value to compare entries to." }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Value Condition"
            },
            "ApiFilterNumericalValueValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "value": { "type": "integer", "format": "int64", "description": "A value to compare entries to." }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Value Condition"
            },
            "ApiFilterPopulationsCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "POPULATIONS",
                                "enum": ["POPULATIONS"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "populationIds": {
                                "type": "array",
                                "description": "A list of population IDs and category names to be used in the filter.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Populations Condition"
            },
            "ApiFilterPopulationsCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "POPULATIONS",
                                "enum": ["POPULATIONS"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "populationIds": {
                                "type": "array",
                                "description": "A list of population IDs and category names to be used in the filter.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Populations Condition"
            },
            "ApiFilterRiskScoreCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "description": "Determines if the filter will test entries using high, medium or low scores, or if it will match by percentage.",
                                "enum": ["PERCENT", "HML"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string", "description": "The risk score column being filtered." },
                            "riskScoreLabel": { "type": "string", "description": "The display name of the risk score being filtered." }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScoreType",
                    "mapping": {
                        "PERCENT": "#/components/schemas/ApiFilterRiskScorePercentCondition",
                        "HML": "#/components/schemas/ApiFilterRiskScoreHMLCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreHMLCondition" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition" }
                ],
                "required": ["type"],
                "title": "Filter Risk Score Condition"
            },
            "ApiFilterRiskScoreCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "description": "Determines if the filter will test entries using high, medium or low scores, or if it will match by percentage.",
                                "enum": ["PERCENT", "HML"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string", "description": "The risk score column being filtered." },
                            "riskScoreLabel": { "type": "string", "description": "The display name of the risk score being filtered." }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScoreType",
                    "mapping": {
                        "PERCENT": "#/components/schemas/ApiFilterRiskScorePercentCondition",
                        "HML": "#/components/schemas/ApiFilterRiskScoreHMLCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreHMLCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Update" }
                ],
                "required": ["type"],
                "title": "Filter Risk Score Condition"
            },
            "ApiFilterRiskScoreHMLCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": { "type": "string", "default": "HML", "enum": ["HML"], "title": "Filter Risk Score Type" },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of HML options to include in the filter.",
                                "items": {
                                    "type": "string",
                                    "enum": ["HIGH", "MEDIUM", "LOW", "UNSCORED"],
                                    "title": "Filter Risk Score HML Option"
                                }
                            }
                        }
                    }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score HML Condition"
            },
            "ApiFilterRiskScoreHMLCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": { "type": "string", "default": "HML", "enum": ["HML"], "title": "Filter Risk Score Type" },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of HML options to include in the filter.",
                                "items": {
                                    "type": "string",
                                    "enum": ["HIGH", "MEDIUM", "LOW", "UNSCORED"],
                                    "title": "Filter Risk Score HML Option"
                                }
                            }
                        }
                    }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score HML Condition"
            },
            "ApiFilterRiskScorePercentCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "description": "Determines the type of risk score percent condition to filter.",
                                "enum": ["MORE_THAN", "LESS_THAN", "BETWEEN", "CUSTOM_RANGE", "UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScorePercentType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "CUSTOM_RANGE": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "UNSCORED": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition" }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score Percent Condition"
            },
            "ApiFilterRiskScorePercentCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "description": "Determines the type of risk score percent condition to filter.",
                                "enum": ["MORE_THAN", "LESS_THAN", "BETWEEN", "CUSTOM_RANGE", "UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScorePercentType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "CUSTOM_RANGE": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "UNSCORED": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition_Update" }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score Percent Condition"
            },
            "ApiFilterRiskScorePercentRangeCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["BETWEEN", "CUSTOM_RANGE"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the number range between 0 and 10,000."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the number range between 0 and 10,000."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Range Condition"
            },
            "ApiFilterRiskScorePercentRangeCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["BETWEEN", "CUSTOM_RANGE"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the number range between 0 and 10,000."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the number range between 0 and 10,000."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Range Condition"
            },
            "ApiFilterRiskScorePercentUnscoredCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "default": "UNSCORED",
                                "enum": ["UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Unscored Condition"
            },
            "ApiFilterRiskScorePercentUnscoredCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "default": "UNSCORED",
                                "enum": ["UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Unscored Condition"
            },
            "ApiFilterRiskScorePercentValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "LESS_THAN"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "A number between 0 and 10,000 used as part of a more than, or less than filter."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Value Condition"
            },
            "ApiFilterRiskScorePercentValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "LESS_THAN"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "A number between 0 and 10,000 used as part of a more than, or less than filter."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Value Condition"
            },
            "ApiFilterSimpleMonetaryFlowCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SIMPLE_FLOW",
                                "enum": ["SIMPLE_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Simple Monetary Flow Condition"
            },
            "ApiFilterSimpleMonetaryFlowCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SIMPLE_FLOW",
                                "enum": ["SIMPLE_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Simple Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection",
                                "description": "The selected credit account in the monetary flow."
                            },
                            "debitAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection",
                                "description": "The selected debit account in the monetary flow."
                            },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "description": "The type of specific monetary flow.",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN", "BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "specificMonetaryFlowType",
                    "mapping": {
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "MORE_THAN": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition" }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Update",
                                "description": "The selected credit account in the monetary flow."
                            },
                            "debitAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Update",
                                "description": "The selected debit account in the monetary flow."
                            },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "description": "The type of specific monetary flow.",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN", "BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "specificMonetaryFlowType",
                    "mapping": {
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "MORE_THAN": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition_Update" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition_Update" }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowRangeCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Range Condition"
            },
            "ApiFilterSpecificMonetaryFlowRangeCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Update" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Update" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Range Condition"
            },
            "ApiFilterSpecificMonetaryFlowValueCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Value Condition"
            },
            "ApiFilterSpecificMonetaryFlowValueCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Update" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Update" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Value Condition"
            },
            "ApiFilterStringArrayCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "STRING_ARRAY",
                                "enum": ["STRING_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "The set of text values used to filter entries.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Array Condition"
            },
            "ApiFilterStringArrayCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "STRING_ARRAY",
                                "enum": ["STRING_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "values": {
                                "type": "array",
                                "description": "The set of text values used to filter entries.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Array Condition"
            },
            "ApiFilterStringCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "STRING", "enum": ["STRING"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "value": { "type": "string", "description": "The text value used to filter entries." }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Condition"
            },
            "ApiFilterStringCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "STRING", "enum": ["STRING"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "value": { "type": "string", "description": "The text value used to filter entries." }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Condition"
            },
            "ApiFilterTypeaheadEntryCondition": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "TYPEAHEAD_ENTRY",
                                "enum": ["TYPEAHEAD_ENTRY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of typeahead entry selections to be used in the filter.",
                                "items": { "$ref": "#/components/schemas/ApiTypeaheadEntry" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Typeahead Entry Condition"
            },
            "ApiFilterTypeaheadEntryCondition_Update": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "TYPEAHEAD_ENTRY",
                                "enum": ["TYPEAHEAD_ENTRY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "values": {
                                "type": "array",
                                "description": "A list of typeahead entry selections to be used in the filter.",
                                "items": { "$ref": "#/components/schemas/ApiTypeaheadEntry_Update" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Typeahead Entry Condition"
            },
            "ApiFilter_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "filterType": {
                        "type": "string",
                        "description": "The type of this filter. Determines in which context analyses can access it.",
                        "enum": ["LIBRARY", "ORGANIZATION", "PRIVATE", "ENGAGEMENT"],
                        "title": "Filter Type"
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of this filter.",
                        "minProperties": 1
                    },
                    "category": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The category of this filter.",
                        "minProperties": 1
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 3 digit currency code used to determine how currency values are formatted for display. Defaults to `USD` if no value is selected."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used when formatting some display values. Defaults to `en-us` if no value is specified."
                    },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Update",
                        "description": "A group filter containing all the conditions included in this filter."
                    }
                },
                "required": ["category", "condition", "name", "version"],
                "title": "Saved Filter"
            },
            "ApiTypeaheadEntry": {
                "type": "object",
                "properties": {
                    "lookupId": { "type": "string", "description": "The identifier of the selected entry." },
                    "displayName": { "type": "string", "description": "The display name of the selected entry." },
                    "hideLookupId": {
                        "type": "boolean",
                        "description": "If `false` then the entry will be displayed with both the lookup ID and the display name. If `true` then only the display name will be used when displaying this entry."
                    }
                },
                "title": "Filter Typeahead Entry"
            },
            "ApiTypeaheadEntry_Update": {
                "type": "object",
                "properties": {
                    "lookupId": { "type": "string", "description": "The identifier of the selected entry." },
                    "displayName": { "type": "string", "description": "The display name of the selected entry." },
                    "hideLookupId": {
                        "type": "boolean",
                        "description": "If `false` then the entry will be displayed with both the lookup ID and the display name. If `true` then only the display name will be used when displaying this entry."
                    }
                },
                "title": "Filter Typeahead Entry"
            },
            "ApiFilterAccountCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "ACCOUNT_NODE_ARRAY",
                                "enum": ["ACCOUNT_NODE_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "accountSelections": {
                                "type": "array",
                                "items": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Read" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Account Condition"
            },
            "ApiFilterAccountSelection_Read": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The display name of the account being selected." },
                    "code": { "type": "string", "description": "The account grouping code or account ID of the selected account." },
                    "useAccountId": {
                        "type": "boolean",
                        "description": "If `true` then the selected account will be identified by the account ID rather than the grouping code."
                    }
                },
                "title": "Filter Account Selection"
            },
            "ApiFilterComplexMonetaryFlowCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "COMPLEX_FLOW",
                                "enum": ["COMPLEX_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Complex Monetary Flow Condition"
            },
            "ApiFilterCondition_Read": {
                "type": "object",
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "GROUP": "#/components/schemas/ApiFilterGroupCondition",
                        "STRING": "#/components/schemas/ApiFilterStringCondition",
                        "STRING_ARRAY": "#/components/schemas/ApiFilterStringArrayCondition",
                        "CONTROL_POINT": "#/components/schemas/ApiFilterControlPointCondition",
                        "ACCOUNT_NODE_ARRAY": "#/components/schemas/ApiFilterAccountCondition",
                        "TYPEAHEAD_ENTRY": "#/components/schemas/ApiFilterTypeaheadEntryCondition",
                        "POPULATIONS": "#/components/schemas/ApiFilterPopulationsCondition",
                        "RISK_SCORE": "#/components/schemas/ApiFilterRiskScoreCondition",
                        "MONETARY_FLOW": "#/components/schemas/ApiFilterMonetaryFlowCondition",
                        "MONEY": "#/components/schemas/ApiFilterMonetaryValueCondition",
                        "MATERIALITY": "#/components/schemas/ApiFilterMaterialityCondition",
                        "NUMERICAL": "#/components/schemas/ApiFilterNumericalValueCondition",
                        "DATE": "#/components/schemas/ApiFilterDateCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterGroupCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterStringCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterStringArrayCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterControlPointCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterAccountCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterTypeaheadEntryCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterPopulationsCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Read" }
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The type of condition.",
                        "enum": [
                            "GROUP",
                            "STRING",
                            "STRING_ARRAY",
                            "CONTROL_POINT",
                            "ACCOUNT_NODE_ARRAY",
                            "TYPEAHEAD_ENTRY",
                            "POPULATIONS",
                            "RISK_SCORE",
                            "MONETARY_FLOW",
                            "MONEY",
                            "MATERIALITY",
                            "NUMERICAL",
                            "DATE"
                        ],
                        "title": "Filter Condition Type"
                    }
                },
                "title": "Filter Condition"
            },
            "ApiFilterControlPointCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "CONTROL_POINT",
                                "enum": ["CONTROL_POINT"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskLevel": {
                                "type": "string",
                                "description": "The risk level of the selected control points.",
                                "enum": ["HIGH_RISK", "MEDIUM_RISK", "LOW_RISK"],
                                "title": "Filter Control Point Risk Level"
                            },
                            "controlPoints": {
                                "type": "array",
                                "description": "A list of control point selections.",
                                "items": { "$ref": "#/components/schemas/ApiFilterControlPointSelection_Read" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Control Point Condition"
            },
            "ApiFilterControlPointSelection_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The ID of the selected control point." },
                    "name": { "type": "string", "description": "The display name of the control point." },
                    "symbolicName": {
                        "type": "string",
                        "description": "The symbolic name of the target control point. For custom control points this is the symbolic name of the control point it is based on."
                    },
                    "rulesBased": { "type": "boolean" }
                },
                "title": "Filter Control Point Selection"
            },
            "ApiFilterDateCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": {
                                "type": "string",
                                "description": "The type of date condition.",
                                "enum": ["BEFORE", "AFTER", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Date Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "dateType",
                    "mapping": {
                        "AFTER": "#/components/schemas/ApiFilterDateValueCondition",
                        "BEFORE": "#/components/schemas/ApiFilterDateValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterDateValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterDateRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterDateRangeCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Date Condition"
            },
            "ApiFilterDateRangeCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": { "type": "string", "default": "BETWEEN", "enum": ["BETWEEN"], "title": "Filter Date Type" },
                            "rangeStart": {
                                "type": "string",
                                "format": "date",
                                "description": "The start of an ISO date range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "string",
                                "format": "date",
                                "description": "The end of an ISO date range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Range Condition"
            },
            "ApiFilterDateValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "dateType": { "type": "string", "enum": ["AFTER", "BEFORE", "SPECIFIC_VALUE"], "title": "Filter Date Type" },
                            "value": { "type": "string", "format": "date", "description": "An ISO date value to compare entries to." }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Value Condition"
            },
            "ApiFilterGroupCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "GROUP", "enum": ["GROUP"], "title": "Filter Condition Type" },
                            "operator": {
                                "type": "string",
                                "description": "The operator to be applied to conditions within this group.",
                                "enum": ["AND", "OR"],
                                "title": "Filter Group Operator"
                            },
                            "conditions": {
                                "type": "array",
                                "description": "The entries within this condition group.",
                                "items": { "$ref": "#/components/schemas/ApiFilterCondition" },
                                "minItems": 1
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Group Condition"
            },
            "ApiFilterMaterialityCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "description": "The type of materiality comparison.",
                                "enum": ["ABOVE", "BELOW", "PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "materialityOption",
                    "mapping": {
                        "ABOVE": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "BELOW": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "PERCENTAGE": "#/components/schemas/ApiFilterMaterialityValueCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityOptionCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityValueCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Materiality Condition"
            },
            "ApiFilterMaterialityOptionCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "enum": ["ABOVE", "BELOW"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Option Condition"
            },
            "ApiFilterMaterialityValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "materialityOption": {
                                "type": "string",
                                "default": "PERCENTAGE",
                                "enum": ["PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            },
                            "value": {
                                "type": "number",
                                "format": "double",
                                "description": "The percentage value, as a decimal number, with 100.00 being 100%."
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Value Condition"
            },
            "ApiFilterMonetaryFlowCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "description": "The type of monetary flow this filter will match.",
                                "enum": ["SIMPLE_FLOW", "COMPLEX_FLOW", "SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryFlowType",
                    "mapping": {
                        "SIMPLE_FLOW": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition",
                        "COMPLEX_FLOW": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition",
                        "SPECIFIC_FLOW": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Flow Condition"
            },
            "ApiFilterMonetaryValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "description": "The type of monetary value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Monetary Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterMonetaryValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueRangeCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Condition"
            },
            "ApiFilterMonetaryValueRangeCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Monetary Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Range Condition"
            },
            "ApiFilterMonetaryValueValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Monetary Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Value Condition"
            },
            "ApiFilterNumericalValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "description": "The type of numerical value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "numericalValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterNumericalValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueRangeCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Numerical Condition"
            },
            "ApiFilterNumericalValueRangeCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start value of a range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end value of a range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Range Condition"
            },
            "ApiFilterNumericalValueValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "numericalValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "value": { "type": "integer", "format": "int64", "description": "A value to compare entries to." }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Value Condition"
            },
            "ApiFilterPopulationsCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "POPULATIONS",
                                "enum": ["POPULATIONS"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "populationIds": {
                                "type": "array",
                                "description": "A list of population IDs and category names to be used in the filter.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Populations Condition"
            },
            "ApiFilterRiskScoreCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "description": "Determines if the filter will test entries using high, medium or low scores, or if it will match by percentage.",
                                "enum": ["PERCENT", "HML"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string", "description": "The risk score column being filtered." },
                            "riskScoreLabel": { "type": "string", "description": "The display name of the risk score being filtered." }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScoreType",
                    "mapping": {
                        "PERCENT": "#/components/schemas/ApiFilterRiskScorePercentCondition",
                        "HML": "#/components/schemas/ApiFilterRiskScoreHMLCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreHMLCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Read" }
                ],
                "required": ["type"],
                "title": "Filter Risk Score Condition"
            },
            "ApiFilterRiskScoreHMLCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": { "type": "string", "default": "HML", "enum": ["HML"], "title": "Filter Risk Score Type" },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of HML options to include in the filter.",
                                "items": {
                                    "type": "string",
                                    "enum": ["HIGH", "MEDIUM", "LOW", "UNSCORED"],
                                    "title": "Filter Risk Score HML Option"
                                }
                            }
                        }
                    }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score HML Condition"
            },
            "ApiFilterRiskScorePercentCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "description": "Determines the type of risk score percent condition to filter.",
                                "enum": ["MORE_THAN", "LESS_THAN", "BETWEEN", "CUSTOM_RANGE", "UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScorePercentType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "CUSTOM_RANGE": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "UNSCORED": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition_Read" }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score Percent Condition"
            },
            "ApiFilterRiskScorePercentRangeCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["BETWEEN", "CUSTOM_RANGE"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the number range between 0 and 10,000."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the number range between 0 and 10,000."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Range Condition"
            },
            "ApiFilterRiskScorePercentUnscoredCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "default": "UNSCORED",
                                "enum": ["UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Unscored Condition"
            },
            "ApiFilterRiskScorePercentValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "LESS_THAN"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "A number between 0 and 10,000 used as part of a more than, or less than filter."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Value Condition"
            },
            "ApiFilterSimpleMonetaryFlowCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SIMPLE_FLOW",
                                "enum": ["SIMPLE_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Simple Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Read",
                                "description": "The selected credit account in the monetary flow."
                            },
                            "debitAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Read",
                                "description": "The selected debit account in the monetary flow."
                            },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "description": "The type of specific monetary flow.",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN", "BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "specificMonetaryFlowType",
                    "mapping": {
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "MORE_THAN": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition_Read" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition_Read" }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowRangeCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Read" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Read" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Range Condition"
            },
            "ApiFilterSpecificMonetaryFlowValueCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Read" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Read" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Value Condition"
            },
            "ApiFilterStringArrayCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "STRING_ARRAY",
                                "enum": ["STRING_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "The set of text values used to filter entries.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Array Condition"
            },
            "ApiFilterStringCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "STRING", "enum": ["STRING"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "value": { "type": "string", "description": "The text value used to filter entries." }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Condition"
            },
            "ApiFilterTypeaheadEntryCondition_Read": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "TYPEAHEAD_ENTRY",
                                "enum": ["TYPEAHEAD_ENTRY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "fullConditionDescription": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of typeahead entry selections to be used in the filter.",
                                "items": { "$ref": "#/components/schemas/ApiTypeaheadEntry_Read" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Typeahead Entry Condition"
            },
            "ApiFilter_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "analysisTypeId": { "type": "string", "description": "Identifies the associated analysis type." },
                    "organizationId": {
                        "type": "string",
                        "description": "Identifies the parent organization, if applicable. Can only be set if `filterType` is `ORGANIZATION` or `PRIVATE`."
                    },
                    "libraryId": {
                        "type": "string",
                        "description": "Identifies the parent library, if applicable. Can only be set if `filterType` is `LIBRARY`."
                    },
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the parent engagement, if applicable. Can only be set if `filterType` is `ENGAGEMENT`."
                    },
                    "filterType": {
                        "type": "string",
                        "description": "The type of this filter. Determines in which context analyses can access it.",
                        "enum": ["LIBRARY", "ORGANIZATION", "PRIVATE", "ENGAGEMENT"],
                        "title": "Filter Type"
                    },
                    "dataType": {
                        "type": "string",
                        "description": "The intended data type for this filter.",
                        "enum": ["TRANSACTIONS", "ENTRIES", "LIBRARY"],
                        "title": "Filter Data Type"
                    },
                    "name": { "type": "object", "additionalProperties": { "type": "string" }, "description": "The name of this filter." },
                    "category": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The category of this filter."
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 3 digit currency code used to determine how currency values are formatted for display. Defaults to `USD` if no value is selected."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used when formatting some display values. Defaults to `en-us` if no value is specified."
                    },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Read",
                        "description": "A group filter containing all the conditions included in this filter."
                    },
                    "legacyFilterFormat": {
                        "type": "boolean",
                        "description": "If `true` this filter is saved in a legacy format that can't be represented in the API."
                    }
                },
                "title": "Saved Filter"
            },
            "ApiTypeaheadEntry_Read": {
                "type": "object",
                "properties": {
                    "lookupId": { "type": "string", "description": "The identifier of the selected entry." },
                    "displayName": { "type": "string", "description": "The display name of the selected entry." },
                    "hideLookupId": {
                        "type": "boolean",
                        "description": "If `false` then the entry will be displayed with both the lookup ID and the display name. If `true` then only the display name will be used when displaying this entry."
                    }
                },
                "title": "Filter Typeahead Entry"
            },
            "ApiRiskRangeBounds_Update": {
                "type": "object",
                "properties": {
                    "lowThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The low threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    },
                    "highThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The high threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    }
                },
                "title": "Risk Range Bounds"
            },
            "ApiRiskRanges_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "low": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Update", "description": "The low range bounds." },
                    "medium": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Update", "description": "The medium range bounds." },
                    "high": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Update", "description": "The high range bounds." },
                    "name": { "type": "string", "description": "The name of the risk range.", "maxLength": 80, "minLength": 0 },
                    "description": {
                        "type": "string",
                        "description": "The description of the risk range.",
                        "maxLength": 250,
                        "minLength": 0
                    }
                },
                "required": ["name"],
                "title": "Risk Ranges"
            },
            "ApiRiskRangeBounds_Read": {
                "type": "object",
                "properties": {
                    "lowThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The low threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    },
                    "highThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The high threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    }
                },
                "title": "Risk Range Bounds"
            },
            "ApiRiskRanges_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "low": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Read", "description": "The low range bounds." },
                    "medium": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Read", "description": "The medium range bounds." },
                    "high": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Read", "description": "The high range bounds." },
                    "system": {
                        "type": "boolean",
                        "description": "Indicates whether or not the risk ranges are a MindBridge system risk range."
                    },
                    "libraryId": { "type": "string", "description": "Identifies the library associated with this risk range." },
                    "engagementId": { "type": "string", "description": "Identifies the engagement associated with this risk range." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the analysis type associated with this risk range." },
                    "name": { "type": "string", "description": "The name of the risk range." },
                    "description": { "type": "string", "description": "The description of the risk range." }
                },
                "title": "Risk Ranges"
            },
            "ApiPopulationTag_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the population.", "maxLength": 80, "minLength": 0 },
                    "category": { "type": "string", "description": "The category of the population.", "maxLength": 80, "minLength": 0 },
                    "description": {
                        "type": "string",
                        "description": "A description of the population.",
                        "maxLength": 250,
                        "minLength": 0
                    },
                    "reasonForChange": {
                        "type": "string",
                        "description": "The reason for the latest change made to the population.",
                        "maxLength": 250,
                        "minLength": 0
                    },
                    "disabled": { "type": "boolean" },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Update",
                        "description": "The filter condition used to determine which entries are included in the population."
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 three-digit currency code that determines how currency values are formatted. Defaults to `USD` if not specified."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used to format display values. Defaults to `en-us` if not specified."
                    }
                },
                "required": ["category", "condition", "name", "version"],
                "title": "Population"
            },
            "ApiPopulationTag_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "analysisTypeId": { "type": "string" },
                    "libraryId": { "type": "string", "description": "The ID of the parent library." },
                    "engagementId": { "type": "string", "description": "The ID of the parent engagement." },
                    "derivedFromLibrary": {
                        "type": "boolean",
                        "description": "Indicates that the engagement population was derived from a library."
                    },
                    "disabledForAnalysisIds": {
                        "type": "array",
                        "description": "Lists the analysis IDs where the engagement population is disabled.",
                        "items": { "type": "string" }
                    },
                    "promotedFromAnalysisId": {
                        "type": "string",
                        "description": "Identifies the analysis from which the engagement population was promoted."
                    },
                    "analysisId": { "type": "string", "description": "The ID of the parent analysis." },
                    "derivedFromEngagement": {
                        "type": "boolean",
                        "description": "Indicates whether the analysis population was derived from an engagement."
                    },
                    "basePopulationId": { "type": "string", "description": "The ID of the population the current population is based on." },
                    "name": { "type": "string", "description": "The name of the population." },
                    "category": { "type": "string", "description": "The category of the population." },
                    "description": { "type": "string", "description": "A description of the population." },
                    "clonedFrom": { "type": "string", "description": "Identifies the population the current population was cloned from." },
                    "reasonForChange": { "type": "string", "description": "The reason for the latest change made to the population." },
                    "disabled": { "type": "boolean" },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Read",
                        "description": "The filter condition used to determine which entries are included in the population."
                    },
                    "legacyFilterFormat": {
                        "type": "boolean",
                        "description": "If `true`, this population uses a legacy filter format that cannot be represented in the current condition format."
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 three-digit currency code that determines how currency values are formatted. Defaults to `USD` if not specified."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used to format display values. Defaults to `en-us` if not specified."
                    }
                },
                "title": "Population"
            },
            "ApiOrganization_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the organization.", "maxLength": 80, "minLength": 0 },
                    "externalClientCode": {
                        "type": "string",
                        "description": "The unique client ID applied to this organization.",
                        "maxLength": 80,
                        "minLength": 0
                    },
                    "managerUserIds": {
                        "type": "array",
                        "description": "Identifies users assigned to the organization manager role.",
                        "items": { "type": "string" }
                    }
                },
                "required": ["name", "version"],
                "title": "Organization"
            },
            "ApiOrganization_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": { "type": "string", "description": "The name of the organization." },
                    "externalClientCode": { "type": "string", "description": "The unique client ID applied to this organization." },
                    "managerUserIds": {
                        "type": "array",
                        "description": "Identifies users assigned to the organization manager role.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Organization"
            },
            "ApiLibrary_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The current name of the library.", "maxLength": 80, "minLength": 0 },
                    "warningsDismissed": {
                        "type": "boolean",
                        "description": "When set to `true`, any conversion warnings for this library will not be displayed in the **Libraries** tab in the UI."
                    },
                    "analysisTypeIds": {
                        "type": "array",
                        "description": "Identifies the analysis types used in the library.",
                        "items": { "type": "string" },
                        "minItems": 1
                    },
                    "defaultDelimiter": { "type": "string", "description": "Identifies the default delimiter used in imported CSV files." },
                    "controlPointSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, control points can be added or removed within each risk score."
                    },
                    "controlPointWeightPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, the weight of each control point can be adjusted within each risk score."
                    },
                    "controlPointSettingsPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, individual control point settings can be adjusted within each risk score."
                    },
                    "riskScoreAndGroupsSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, risk scores and groups can be disabled, and accounts associated with risk scores can be edited."
                    },
                    "riskRangeEditPermission": { "type": "boolean" },
                    "riskScoreDisplay": {
                        "type": "string",
                        "description": "Determines whether risk scores will be presented as percentages (%), or using High, Medium, and Low label indicators.",
                        "enum": ["HIGH_MEDIUM_LOW", "PERCENTAGE"]
                    },
                    "archived": {
                        "type": "boolean",
                        "description": "Indicates whether or not the library is archived. Archived libraries cannot be selected when creating an engagement."
                    }
                },
                "required": [
                    "analysisTypeIds",
                    "archived",
                    "controlPointSelectionPermission",
                    "controlPointSettingsPermission",
                    "controlPointWeightPermission",
                    "name",
                    "riskScoreAndGroupsSelectionPermission",
                    "riskScoreDisplay",
                    "version",
                    "warningsDismissed"
                ],
                "title": "Library"
            },
            "ApiLibrary_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": { "type": "string", "description": "The current name of the library." },
                    "basedOnLibraryId": {
                        "type": "string",
                        "description": "Identifies the library that the new library is based on. This may be a user-created library or a MindBridge system library."
                    },
                    "originalSystemLibraryId": { "type": "string", "description": "Identifies the original MindBridge-supplied library." },
                    "warningsDismissed": {
                        "type": "boolean",
                        "description": "When set to `true`, any conversion warnings for this library will not be displayed in the **Libraries** tab in the UI."
                    },
                    "conversionWarnings": {
                        "type": "array",
                        "description": "A list of accounts that failed to convert the selected base library's setting to the selected account grouping.",
                        "items": { "$ref": "#/components/schemas/Problem_Read" }
                    },
                    "accountGroupingId": { "type": "string", "description": "Identifies the account grouping used." },
                    "analysisTypeIds": {
                        "type": "array",
                        "description": "Identifies the analysis types used in the library.",
                        "items": { "type": "string" }
                    },
                    "defaultDelimiter": { "type": "string", "description": "Identifies the default delimiter used in imported CSV files." },
                    "controlPointSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, control points can be added or removed within each risk score."
                    },
                    "controlPointWeightPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, the weight of each control point can be adjusted within each risk score."
                    },
                    "controlPointSettingsPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, individual control point settings can be adjusted within each risk score."
                    },
                    "riskScoreAndGroupsSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, risk scores and groups can be disabled, and accounts associated with risk scores can be edited."
                    },
                    "riskRangeEditPermission": { "type": "boolean" },
                    "riskScoreDisplay": {
                        "type": "string",
                        "description": "Determines whether risk scores will be presented as percentages (%), or using High, Medium, and Low label indicators.",
                        "enum": ["HIGH_MEDIUM_LOW", "PERCENTAGE"]
                    },
                    "system": { "type": "boolean", "description": "Indicates whether or not the library is a MindBridge system library." },
                    "archived": {
                        "type": "boolean",
                        "description": "Indicates whether or not the library is archived. Archived libraries cannot be selected when creating an engagement."
                    }
                },
                "title": "Library"
            },
            "Problem_Read": {
                "type": "object",
                "properties": {
                    "problemType": {
                        "type": "string",
                        "description": "The type of problem.",
                        "enum": [
                            "UNKNOWN",
                            "ILLEGAL_ARGUMENT",
                            "CANNOT_DELETE",
                            "GREATER_VALUE_REQUIRED",
                            "LESS_VALUE_REQUIRED",
                            "NON_UNIQUE_VALUE",
                            "USER_EMAIL_ALREADY_EXISTS",
                            "INCORRECT_DATA_TYPE",
                            "RATIO_CONVERSION_FAILED",
                            "RISK_SCORE_FILTER_CONVERSION_FAILED",
                            "FILTER_CONVERSION_FAILED",
                            "POPULATION_CONVERSION_FAILED",
                            "INSUFFICIENT_PERMISSION",
                            "ACCOUNT_GROUPING_NODES_CONTAIN_ERRORS",
                            "ACCOUNT_GROUPING_IN_USE_BY_LIBRARY",
                            "INVALID_ACCOUNT_GROUPING_FILE",
                            "DELIVERY_FAILURE",
                            "INVALID_STATE"
                        ]
                    },
                    "severity": { "type": "string", "description": "Indicates how severe the problem is.", "enum": ["WARNING", "ERROR"] },
                    "entityType": { "type": "string", "description": "The type of entity impacted by the problem." },
                    "entityId": { "type": "string", "description": "Identifies the entity impacted by the problem." },
                    "identifier": { "type": "string", "description": "Identifies the field causing the problem." },
                    "values": {
                        "type": "array",
                        "description": "Identifies the values causing the problem.",
                        "items": { "type": "string" }
                    },
                    "reason": { "type": "string", "description": "The reason(s) why the problem occurred." },
                    "suggestedValues": {
                        "type": "array",
                        "description": "A suggested set of values to assist in resolving the problem.",
                        "items": { "type": "string" }
                    },
                    "problemCount": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The total number of occurrences of this problem."
                    }
                }
            },
            "ApiFileManagerDirectory_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileManagerEntity_Update" },
                    { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the directory." } } }
                ],
                "title": "File Manager Directory"
            },
            "ApiFileManagerEntity_Update": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "type": {
                        "type": "string",
                        "description": "Indicates whether the object is a DIRECTORY or a FILE.",
                        "enum": ["DIRECTORY", "FILE"]
                    },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the parent directory. If NULL, the directory is positioned at the root level."
                    }
                },
                "required": ["version"],
                "title": "File Manager Entity"
            },
            "ApiFileManagerFile_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileManagerEntity_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "name": { "type": "string", "description": "The current name of the file, excluding the extension." }
                        }
                    }
                ],
                "title": "File Manager File"
            },
            "ApiFileManagerDirectory_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileManagerEntity_Read" },
                    { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the directory." } } }
                ],
                "title": "File Manager Directory"
            },
            "ApiFileManagerEntity_Read": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "description": "Indicates whether the object is a DIRECTORY or a FILE.",
                        "enum": ["DIRECTORY", "FILE"]
                    },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the parent directory. If NULL, the directory is positioned at the root level."
                    }
                },
                "title": "File Manager Entity"
            },
            "ApiFileManagerFile_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileManagerEntity_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "name": { "type": "string", "description": "The current name of the file, excluding the extension." },
                            "extension": { "type": "string", "description": "The suffix used at the end of the file." },
                            "originalName": {
                                "type": "string",
                                "description": "The name of the file as it appeared when first imported, including the extension."
                            },
                            "status": {
                                "type": "array",
                                "description": "The status of the file as it appears in MindBridge.",
                                "items": { "type": "string", "enum": ["MODIFIED", "ROLLED_FORWARD"] },
                                "uniqueItems": true
                            },
                            "fileInfoId": { "type": "string", "description": "Identifies the associated file info." }
                        }
                    }
                ],
                "title": "File Manager File"
            },
            "ApiAccountingPeriod_Update": {
                "type": "object",
                "properties": {
                    "fiscalStartMonth": { "type": "integer", "format": "int32", "description": "The month that the fiscal period begins." },
                    "fiscalStartDay": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The date of the month that the fiscal period begins."
                    },
                    "frequency": {
                        "type": "string",
                        "description": "The frequency with which your client's financial data is reported.",
                        "enum": ["ANNUAL", "SEMI_ANNUAL", "QUARTERLY", "MONTHLY", "THIRTEEN_PERIODS"]
                    }
                },
                "required": ["fiscalStartDay", "fiscalStartMonth", "frequency"],
                "title": "Accounting Period"
            },
            "ApiEngagement_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the engagement.", "maxLength": 80, "minLength": 0 },
                    "billingCode": {
                        "type": "string",
                        "description": "A unique code that associates engagements and analyses with clients to ensure those clients are billed appropriately for MindBridge usage."
                    },
                    "accountingPeriod": {
                        "$ref": "#/components/schemas/ApiAccountingPeriod_Update",
                        "description": "Details about the accounting period."
                    },
                    "auditPeriodEndDate": { "type": "string", "format": "date", "description": "The last day of the occurring audit." },
                    "accountingPackage": {
                        "type": "string",
                        "description": "The ERP or financial management system that your client is using.",
                        "minLength": 1
                    },
                    "industry": {
                        "type": "string",
                        "description": "The type of industry that your client operates within.",
                        "minLength": 1
                    },
                    "engagementLeadId": { "type": "string", "description": "Identifies the user who will lead the engagement." },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the associated reporting period configuration. If null the analyses use a standard reporting period."
                    },
                    "auditorIds": {
                        "type": "array",
                        "description": "Identifies the users who will act as auditors in the engagement.",
                        "items": { "type": "string" }
                    },
                    "emailSubscriptions": {
                        "type": "object",
                        "additionalProperties": { "type": "array", "items": { "type": "string" } },
                        "description": "Identifies the users who will receive email notifications related to this engagement."
                    }
                },
                "required": [
                    "accountingPackage",
                    "auditPeriodEndDate",
                    "emailSubscriptions",
                    "engagementLeadId",
                    "industry",
                    "name",
                    "version"
                ],
                "title": "Engagement"
            },
            "ApiAccountingPeriod_Read": {
                "type": "object",
                "properties": {
                    "fiscalStartMonth": { "type": "integer", "format": "int32", "description": "The month that the fiscal period begins." },
                    "fiscalStartDay": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The date of the month that the fiscal period begins."
                    },
                    "frequency": {
                        "type": "string",
                        "description": "The frequency with which your client's financial data is reported.",
                        "enum": ["ANNUAL", "SEMI_ANNUAL", "QUARTERLY", "MONTHLY", "THIRTEEN_PERIODS"]
                    }
                },
                "required": ["fiscalStartDay", "fiscalStartMonth", "frequency"],
                "title": "Accounting Period"
            },
            "ApiEngagement_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "organizationId": { "type": "string", "description": "Identifies the organization." },
                    "name": { "type": "string", "description": "The name of the engagement." },
                    "billingCode": {
                        "type": "string",
                        "description": "A unique code that associates engagements and analyses with clients to ensure those clients are billed appropriately for MindBridge usage."
                    },
                    "libraryId": { "type": "string", "description": "Identifies the library." },
                    "accountingPeriod": {
                        "$ref": "#/components/schemas/ApiAccountingPeriod_Read",
                        "description": "Details about the accounting period."
                    },
                    "auditPeriodEndDate": { "type": "string", "format": "date", "description": "The last day of the occurring audit." },
                    "accountingPackage": {
                        "type": "string",
                        "description": "The ERP or financial management system that your client is using."
                    },
                    "industry": { "type": "string", "description": "The type of industry that your client operates within." },
                    "engagementLeadId": { "type": "string", "description": "Identifies the user who will lead the engagement." },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the associated reporting period configuration. If null the analyses use a standard reporting period."
                    },
                    "auditorIds": {
                        "type": "array",
                        "description": "Identifies the users who will act as auditors in the engagement.",
                        "items": { "type": "string" }
                    },
                    "emailSubscriptions": {
                        "type": "object",
                        "additionalProperties": { "type": "array", "items": { "type": "string" } },
                        "description": "Identifies the users who will receive email notifications related to this engagement."
                    }
                },
                "title": "Engagement"
            },
            "ApiEngagementAccountGroup_Update": {
                "type": "object",
                "properties": {
                    "code": { "type": "string", "description": "The account code for this account group.", "minLength": 1 },
                    "macCode": { "type": "string", "description": "The MAC code mapped to this account group." },
                    "hidden": {
                        "type": "boolean",
                        "description": "When `true` this account is hidden, and can't be used in account mapping. Additionally this account won't be suggested when automatically mapping accounts during file import."
                    },
                    "alias": {
                        "type": "string",
                        "description": "A replacement value used when displaying the account description.\n\nThis does not have any effect on automatic column mapping."
                    }
                },
                "required": ["code", "hidden"],
                "title": "Engagement Account Group"
            },
            "ApiAccountGroupError_Read": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The type of account group error.",
                        "enum": [
                            "ERROR_LOWEST_LEVEL_WITH_NO_MAC",
                            "ERROR_LOWEST_LEVEL_WITHOUT_LEVEL_4_MAC",
                            "ERROR_INCONSISTENT_SHEET_HIERARCHY"
                        ]
                    },
                    "arguments": {
                        "type": "array",
                        "description": "A list of values relevant to the type of account group error.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Account Group Error"
            },
            "ApiEngagementAccountGroup_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "engagementAccountGroupingId": {
                        "type": "string",
                        "description": "The unique identifier for the engagement account grouping that the engagement account group belongs to."
                    },
                    "code": { "type": "string", "description": "The account code for this account group." },
                    "description": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A description of the account code for this account group."
                    },
                    "lowestLevel": { "type": "boolean" },
                    "hierarchy": {
                        "type": "array",
                        "description": "A list of the parent codes for this account group.",
                        "items": { "type": "string" }
                    },
                    "parentCode": { "type": "string", "description": "The parent code for this account group." },
                    "macCode": { "type": "string", "description": "The MAC code mapped to this account group." },
                    "accountTags": {
                        "type": "array",
                        "description": "A list of account tags assigned to this account group.",
                        "items": { "type": "string" }
                    },
                    "publishedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date this account group was published. If not set, this account group is not published.\n\nPublished account groups cannot be updated."
                    },
                    "orderIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The order in which this account group is displayed, relative to other account groups with the same parent."
                    },
                    "errors": {
                        "type": "array",
                        "description": "A list of errors associated with this account group.",
                        "items": { "$ref": "#/components/schemas/ApiAccountGroupError_Read" }
                    },
                    "hidden": {
                        "type": "boolean",
                        "description": "When `true` this account is hidden, and can't be used in account mapping. Additionally this account won't be suggested when automatically mapping accounts during file import."
                    },
                    "origin": {
                        "type": "string",
                        "description": "The process that lead to the creation of the account group.",
                        "enum": ["IMPORTED_FROM_LIBRARY", "IMPORTED_FROM_ENGAGEMENT", "ADDED_ON_ENGAGEMENT"]
                    },
                    "alias": {
                        "type": "string",
                        "description": "A replacement value used when displaying the account description.\n\nThis does not have any effect on automatic column mapping."
                    }
                },
                "title": "Engagement Account Group"
            },
            "ApiDatabricksAuthorization_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "connectionId": { "type": "string", "description": "The ID of the Connection this authorization belongs to." },
                    "authType": {
                        "type": "string",
                        "description": "The authentication method to use. Possible values: PAT, OAUTH_M2M.",
                        "enum": ["PAT", "OAUTH_M2M"]
                    },
                    "host": { "type": "string", "description": "The Databricks server hostname.", "minLength": 1 },
                    "port": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The port number for the Databricks connection. Typically 443."
                    },
                    "httpPath": {
                        "type": "string",
                        "description": "The HTTP path for the Databricks SQL warehouse or cluster.",
                        "minLength": 1
                    },
                    "accessToken": {
                        "type": "string",
                        "description": "The personal access token for PAT authentication.",
                        "writeOnly": true
                    },
                    "clientId": { "type": "string", "description": "The OAuth client ID for OAUTH_M2M authentication." },
                    "clientSecret": {
                        "type": "string",
                        "description": "The OAuth client secret for OAUTH_M2M authentication.",
                        "writeOnly": true
                    }
                },
                "required": ["authType", "connectionId", "host", "httpPath", "version"],
                "title": "Databricks Authorization"
            },
            "ApiDatabricksAuthorization_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "connectionId": { "type": "string", "description": "The ID of the Connection this authorization belongs to." },
                    "authType": {
                        "type": "string",
                        "description": "The authentication method to use. Possible values: PAT, OAUTH_M2M.",
                        "enum": ["PAT", "OAUTH_M2M"]
                    },
                    "host": { "type": "string", "description": "The Databricks server hostname." },
                    "port": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The port number for the Databricks connection. Typically 443."
                    },
                    "httpPath": { "type": "string", "description": "The HTTP path for the Databricks SQL warehouse or cluster." },
                    "clientId": { "type": "string", "description": "The OAuth client ID for OAUTH_M2M authentication." }
                },
                "title": "Databricks Authorization"
            },
            "ApiDataCatalogConnectionEntry_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columns": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Update" } },
                            "connectionId": { "type": "string", "description": "The connection ID from which data is imported." },
                            "tableId": {
                                "type": "string",
                                "description": "The table ID within the related connection from which data is imported."
                            }
                        }
                    }
                ],
                "title": "Data Catalog Connection Entry"
            },
            "ApiDataCatalogDataTableEntry_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columns": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Update" } },
                            "dataTableId": { "type": "string", "description": "The MindBridge data table from which data is imported." }
                        }
                    }
                ],
                "title": "Data Catalog Data Table Entry"
            },
            "ApiDataCatalogEntryColumn_Update": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The column name." },
                    "displayName": { "type": "string", "description": "A display name for this column." },
                    "description": { "type": "string", "description": "A description of this column." },
                    "columnType": {
                        "type": "string",
                        "description": "The data type of the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Whether the column allows null values." }
                },
                "title": "Data Catalog Entry Column"
            },
            "ApiDataCatalogEntry_Update": {
                "type": "object",
                "discriminator": { "propertyName": "source" },
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "source": {
                        "type": "string",
                        "description": "The type of entity this data catalog entry is associated with.",
                        "enum": ["CONNECTION", "DATA_TABLE"]
                    },
                    "name": { "type": "string", "description": "The display name of this data catalog entry." },
                    "description": { "type": "string", "description": "A description of this data catalog entry." },
                    "columns": {
                        "type": "array",
                        "description": "The columns provided by this data catalog entry.",
                        "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Update" },
                        "minItems": 1
                    },
                    "uniqueIdentifier": {
                        "type": "array",
                        "description": "List of column names that together form a unique record identifier",
                        "items": { "type": "string" }
                    },
                    "published": {
                        "type": "boolean",
                        "description": "Indicates whether this data catalog entry is published and available for use."
                    }
                },
                "required": ["columns", "published", "source", "version"],
                "title": "Data Catalog Entry"
            },
            "ApiDataCatalogConnectionEntry_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "connectionId": { "type": "string", "description": "The connection ID from which data is imported." },
                            "tableId": {
                                "type": "string",
                                "description": "The table ID within the related connection from which data is imported."
                            }
                        }
                    }
                ],
                "title": "Data Catalog Connection Entry"
            },
            "ApiDataCatalogDataTableEntry_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "dataTableId": { "type": "string", "description": "The MindBridge data table from which data is imported." }
                        }
                    }
                ],
                "title": "Data Catalog Data Table Entry"
            },
            "ApiDataCatalogEntryColumn_Read": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The column name." },
                    "displayName": { "type": "string", "description": "A display name for this column." },
                    "description": { "type": "string", "description": "A description of this column." },
                    "columnType": {
                        "type": "string",
                        "description": "The data type of the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Whether the column allows null values." }
                },
                "title": "Data Catalog Entry Column"
            },
            "ApiDataCatalogEntry_Read": {
                "type": "object",
                "discriminator": { "propertyName": "source" },
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "source": {
                        "type": "string",
                        "description": "The type of entity this data catalog entry is associated with.",
                        "enum": ["CONNECTION", "DATA_TABLE"]
                    },
                    "name": { "type": "string", "description": "The display name of this data catalog entry." },
                    "description": { "type": "string", "description": "A description of this data catalog entry." },
                    "columns": {
                        "type": "array",
                        "description": "The columns provided by this data catalog entry.",
                        "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Read" }
                    },
                    "uniqueIdentifier": {
                        "type": "array",
                        "description": "List of column names that together form a unique record identifier",
                        "items": { "type": "string" }
                    },
                    "published": {
                        "type": "boolean",
                        "description": "Indicates whether this data catalog entry is published and available for use."
                    }
                },
                "title": "Data Catalog Entry"
            },
            "ApiApiToken_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": {
                        "type": "string",
                        "description": "The token record's name. This will also be used as the API Token User's name.",
                        "minLength": 1
                    }
                },
                "required": ["name", "version"],
                "title": "API Token"
            },
            "ApiApiToken_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "userId": { "type": "string", "description": "Identifies the API Token User associated with this token." },
                    "name": {
                        "type": "string",
                        "description": "The token record's name. This will also be used as the API Token User's name."
                    },
                    "partialToken": { "type": "string", "description": "A partial representation of the API token." },
                    "expiry": { "type": "string", "format": "date-time", "description": "The day on which the API token expires." },
                    "allowedAddresses": {
                        "type": "array",
                        "description": "Indicates the set of addresses that are allowed to use this token. If empty, any address may use it.",
                        "items": { "type": "string" }
                    },
                    "permissions": {
                        "type": "array",
                        "description": "The set of permissions that inform which endpoints this token is authorized to access.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "api.organizations.read",
                                "api.organizations.write",
                                "api.organizations.delete",
                                "api.engagements.read",
                                "api.engagements.write",
                                "api.engagements.delete",
                                "api.analyses.read",
                                "api.analyses.write",
                                "api.analyses.delete",
                                "api.analyses.run",
                                "api.analysis-sources.read",
                                "api.analysis-sources.write",
                                "api.analysis-sources.delete",
                                "api.file-manager.read",
                                "api.file-manager.write",
                                "api.file-manager.delete",
                                "api.reporting-period-config.read",
                                "api.reporting-period-config.write",
                                "api.reporting-period-config.delete",
                                "api.libraries.read",
                                "api.libraries.write",
                                "api.libraries.delete",
                                "api.account-groupings.read",
                                "api.account-groupings.write",
                                "api.account-groupings.delete",
                                "api.engagement-account-groupings.read",
                                "api.engagement-account-groupings.write",
                                "api.engagement-account-groupings.delete",
                                "api.users.read",
                                "api.users.write",
                                "api.users.delete",
                                "api.data-tables.read",
                                "api.data-tables.write",
                                "api.data-tables.delete",
                                "api.api-tokens.read",
                                "api.api-tokens.write",
                                "api.api-tokens.delete",
                                "api.tasks.read",
                                "api.tasks.write",
                                "api.tasks.delete",
                                "api.admin-reports.run",
                                "api.analysis-types.read",
                                "api.analysis-source-types.read",
                                "api.analysis-type-configuration.read",
                                "api.analysis-type-configuration.write",
                                "api.analysis-type-configuration.delete",
                                "api.risk-ranges.read",
                                "api.risk-ranges.write",
                                "api.risk-ranges.delete",
                                "api.filters.read",
                                "api.filters.write",
                                "api.filters.delete",
                                "api.file-infos.read",
                                "api.webhooks.read",
                                "api.webhooks.write",
                                "api.webhooks.delete",
                                "api.connections.read",
                                "api.connections.write",
                                "api.connections.delete",
                                "api.data-catalog-entries.read",
                                "api.data-catalog-entries.write",
                                "api.data-catalog-entries.delete",
                                "scim.user.read",
                                "scim.user.write",
                                "scim.user.delete",
                                "scim.user.schema"
                            ]
                        }
                    }
                },
                "title": "API Token"
            },
            "ApiAnalysisConfig_Update": {
                "type": "object",
                "properties": {
                    "riskGroups": {
                        "type": "array",
                        "description": "The list of risk groups associated with this analysis config.",
                        "items": { "$ref": "#/components/schemas/ApiRiskGroup_Update" }
                    }
                },
                "title": "Analysis Config"
            },
            "ApiAnalysisTypeConfiguration_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "system": { "type": "boolean" },
                    "configuration": {
                        "$ref": "#/components/schemas/ApiAnalysisConfig_Update",
                        "description": "The configuration details for this analysis type."
                    }
                },
                "required": ["version"],
                "title": "Analysis Type Configuration"
            },
            "ApiRiskGroupFilter_Update": {
                "type": "object",
                "properties": {
                    "values": {
                        "type": "array",
                        "description": "A list of accounts to include in the risk group.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Risk Group Filter"
            },
            "ApiRiskGroup_Update": {
                "type": "object",
                "properties": {
                    "disabled": { "type": "boolean", "description": "Indicates whether the risk group is disabled." },
                    "id": { "type": "string", "description": "The unique object identifier for this risk group." },
                    "selectedRiskRange": {
                        "type": "string",
                        "description": "The selected risk range for the risk group. The selected value must be part of the applicable risk ranges."
                    },
                    "applicableRiskRanges": {
                        "type": "array",
                        "description": "A list of risk ranges that are applicable to the risk group.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "filter": {
                        "$ref": "#/components/schemas/ApiRiskGroupFilter_Update",
                        "description": "A filter based on account hierarchy used to determine which entries are included in the risk group."
                    },
                    "controlPointWeights": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int32" },
                        "description": "A map of control point names to their weights within the risk group."
                    }
                },
                "title": "Risk Group"
            },
            "ApiAnalysisConfig_Read": {
                "type": "object",
                "properties": {
                    "riskGroups": {
                        "type": "array",
                        "description": "The list of risk groups associated with this analysis config.",
                        "items": { "$ref": "#/components/schemas/ApiRiskGroup_Read" }
                    }
                },
                "title": "Analysis Config"
            },
            "ApiAnalysisTypeConfiguration_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "system": { "type": "boolean" },
                    "libraryId": { "type": "string", "description": "Identifies the library associated with this configuration." },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisId": { "type": "string", "description": "Identifies the analysis associated with this configuration." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the type of analysis." },
                    "configuration": {
                        "$ref": "#/components/schemas/ApiAnalysisConfig_Read",
                        "description": "The configuration details for this analysis type."
                    },
                    "controlPointBundleVersion": {
                        "type": "string",
                        "description": "The version of the control point bundle used in this configuration."
                    },
                    "template": { "type": "boolean", "description": "Indicates whether this configuration is a template." }
                },
                "title": "Analysis Type Configuration"
            },
            "ApiRiskGroupFilter_Read": {
                "type": "object",
                "properties": {
                    "values": {
                        "type": "array",
                        "description": "A list of accounts to include in the risk group.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Risk Group Filter"
            },
            "ApiRiskGroup_Read": {
                "type": "object",
                "properties": {
                    "disabled": { "type": "boolean", "description": "Indicates whether the risk group is disabled." },
                    "id": { "type": "string", "description": "The unique object identifier for this risk group." },
                    "system": { "type": "boolean", "description": "Indicates whether the risk group is a MindBridge system risk group." },
                    "analysisTypeId": {
                        "type": "string",
                        "description": "Identifies the analysis type that the risk group is associated with."
                    },
                    "selectedRiskRange": {
                        "type": "string",
                        "description": "The selected risk range for the risk group. The selected value must be part of the applicable risk ranges."
                    },
                    "applicableRiskRanges": {
                        "type": "array",
                        "description": "A list of risk ranges that are applicable to the risk group.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "filter": {
                        "$ref": "#/components/schemas/ApiRiskGroupFilter_Read",
                        "description": "A filter based on account hierarchy used to determine which entries are included in the risk group."
                    },
                    "controlPointWeights": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int32" },
                        "description": "A map of control point names to their weights within the risk group."
                    },
                    "controlPointBundleVersion": {
                        "type": "string",
                        "description": "The version of the control point bundle used in this risk group."
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A map of localized risk group names, keyed by language code."
                    },
                    "description": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A map of localized risk group descriptions, keyed by language code."
                    },
                    "category": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "Identifies the risk group's category."
                    },
                    "riskAssertionCategory": {
                        "type": "string",
                        "description": "Identifies the risk assertion category of the risk group.",
                        "enum": ["GENERAL", "ASSETS", "LIABILITIES_EQUITY", "PROFIT_LOSS", "LIABILITIES", "EQUITY", "REVENUE", "EXPENSES"]
                    }
                },
                "title": "Risk Group"
            },
            "ApiAmbiguousColumn_Update": {
                "type": "object",
                "properties": {
                    "position": { "type": "integer", "format": "int32", "description": "The position of the column with the resolution." },
                    "selectedFormat": { "type": "string", "description": "The data format to be used in case of ambiguity." }
                },
                "title": "Ambiguous Column Resolution"
            },
            "ApiAnalysisSource_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "warningsIgnored": { "type": "boolean", "description": "Indicates whether or not warnings should be ignored." },
                    "targetWorkflowState": {
                        "type": "string",
                        "description": "The state that the current workflow will advance to.",
                        "enum": [
                            "COMPLETED",
                            "CANCELLED",
                            "FAILED",
                            "STARTED",
                            "DETECTING_FORMAT",
                            "ANALYZING_COLUMNS",
                            "CHECKING_INTEGRITY",
                            "SCANNING_TRANSACTION_COMBINATIONS",
                            "PARSING",
                            "PARSING_ICEBERG",
                            "ANALYZING_EFFECTIVE_DATE_METRICS",
                            "FORMAT_DETECTION_COMPLETED",
                            "COLUMN_MAPPINGS_CONFIRMED",
                            "SETTINGS_CONFIRMED",
                            "PREPARING_ICEBERG",
                            "ANALYSIS_PERIOD_SELECTED",
                            "FUNDS_REVIEWED",
                            "RUNNING",
                            "UNPACK_COMPLETE",
                            "UPLOADED",
                            "FORMAT_DETECTED",
                            "COLUMNS_ANALYZED",
                            "INTEGRITY_CHECKED",
                            "PARSED",
                            "AUTHENTICATED",
                            "CONFIGURED",
                            "EFFECTIVE_DATE_METRICS_ANALYZED",
                            "DATA_VALIDATION_CONFIRMED"
                        ]
                    },
                    "applyDegrouper": { "type": "boolean", "description": "Indicates whether or not the degrouper should be applied." },
                    "proposedColumnMappings": {
                        "type": "array",
                        "description": "Details about the proposed column mapping.",
                        "items": { "$ref": "#/components/schemas/ApiProposedColumnMapping_Update" }
                    },
                    "columnMappings": {
                        "type": "array",
                        "description": "Details about column mapping.",
                        "items": { "$ref": "#/components/schemas/ApiColumnMapping_Update" }
                    },
                    "proposedVirtualColumns": {
                        "type": "array",
                        "description": "Details about the proposed virtual columns added during the file import process.",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiProposedDuplicateVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiProposedJoinVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByDelimiterVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByPositionVirtualColumn_Update" }
                            ]
                        }
                    },
                    "virtualColumns": {
                        "type": "array",
                        "description": "Details about the virtual columns added during file ingestion. ",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiDuplicateVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiJoinVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiSplitByDelimiterVirtualColumn_Update" },
                                { "$ref": "#/components/schemas/ApiSplitByPositionVirtualColumn_Update" }
                            ]
                        }
                    },
                    "proposedAmbiguousColumnResolutions": {
                        "type": "array",
                        "description": "Details about the virtual columns added during file ingestion.",
                        "items": { "$ref": "#/components/schemas/ApiProposedAmbiguousColumnResolution_Update" }
                    },
                    "ambiguousColumnResolutions": {
                        "type": "array",
                        "description": "Details about resolutions to ambiguity in a column.",
                        "items": { "$ref": "#/components/schemas/ApiAmbiguousColumn_Update" }
                    },
                    "proposedTransactionIdSelection": {
                        "$ref": "#/components/schemas/ApiTransactionIdSelection_Update",
                        "description": "The proposed columns to include when selecting a transaction ID."
                    },
                    "transactionIdSelection": {
                        "$ref": "#/components/schemas/ApiTransactionIdSelection_Update",
                        "description": "Details about transaction ID selection."
                    }
                },
                "required": ["version"],
                "title": "Analysis Source"
            },
            "ApiColumnMapping_Update": {
                "type": "object",
                "properties": {
                    "position": { "type": "integer", "format": "int32", "description": "The position of the column mapping." },
                    "mindbridgeField": { "type": "string", "description": "The MindBridge field that the data column was mapped to." },
                    "additionalColumnName": {
                        "type": "string",
                        "description": "Additional columns of data that were added to the analysis."
                    }
                },
                "title": "Column Mapping"
            },
            "ApiDuplicateVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the duplicated column." }
                        }
                    }
                ],
                "required": ["columnIndex", "name", "type"],
                "title": "Duplicate Virtual Column"
            },
            "ApiJoinVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndices": {
                                "type": "array",
                                "description": "The position of the joined column.",
                                "items": { "type": "integer", "format": "int32" },
                                "minItems": 1
                            },
                            "delimiter": { "type": "string", "description": "The character(s) used to separate values.", "minLength": 1 }
                        }
                    }
                ],
                "required": ["columnIndices", "delimiter", "name", "type"],
                "title": "Join Virtual Column"
            },
            "ApiProposedAmbiguousColumnResolution_Update": {
                "type": "object",
                "properties": {
                    "position": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the column with the proposed resolution.",
                        "minimum": 0
                    },
                    "selectedFormat": { "type": "string", "description": "The selected format of the proposed resolution.", "minLength": 1 }
                },
                "required": ["position", "selectedFormat"],
                "title": "Proposed Ambiguous Column Resolution"
            },
            "ApiProposedColumnMapping_Update": {
                "type": "object",
                "properties": {
                    "columnPosition": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed column mapping in the original input file."
                    },
                    "virtualColumnIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed virtual columns within the `proposedVirtualColumns` list."
                    },
                    "mindbridgeField": {
                        "type": "string",
                        "description": "The MindBridge field that the data column should be mapped to."
                    },
                    "additionalColumnName": {
                        "type": "string",
                        "description": "Proposed additional columns of data to be added to the analysis."
                    }
                },
                "title": "Proposed Column Mapping"
            },
            "ApiProposedDuplicateVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be duplicated."
                            }
                        }
                    }
                ],
                "required": ["columnIndex"],
                "title": "Proposed Duplicate Virtual Column"
            },
            "ApiProposedJoinVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndices": {
                                "type": "array",
                                "description": "The positions of the columns to be joined.",
                                "items": { "type": "integer", "format": "int32" },
                                "minItems": 1
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be inserted to separate values.",
                                "minLength": 1
                            }
                        }
                    }
                ],
                "required": ["columnIndices", "delimiter"],
                "title": "Proposed Join Virtual Column"
            },
            "ApiProposedSplitByDelimiterVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be used to separate the string into parts.",
                                "minLength": 1
                            },
                            "splitIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the part to be used as a virtual column."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "delimiter", "splitIndex"],
                "title": "Proposed Split By Delimiter Virtual Column"
            },
            "ApiProposedSplitByPositionVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "startPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The starting position of the substring to be used as the new column. **Inclusive**."
                            },
                            "endPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The ending position of the substring to be used as the new column. **Exclusive**."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "endPosition", "startPosition"],
                "title": "Proposed Split By Position Virtual Column"
            },
            "ApiProposedVirtualColumn_Update": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "name": { "type": "string", "description": "The name of the proposed virtual column." },
                    "type": {
                        "type": "string",
                        "description": "The type of proposed virtual column.",
                        "enum": ["DUPLICATE", "SPLIT_BY_POSITION", "SPLIT_BY_DELIMITER", "JOIN"]
                    }
                },
                "title": "Proposed Virtual Column"
            },
            "ApiSplitByDelimiterVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the split column." },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) used to separate the string into parts.",
                                "minLength": 1
                            },
                            "splitIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the part used as a virtual column."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "delimiter", "name", "splitIndex", "type"],
                "title": "Split By Delimiter Virtual Column"
            },
            "ApiSplitByPositionVirtualColumn_Update": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Update" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the split column." },
                            "startPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The starting position of the substring in the new column. **Inclusive**."
                            },
                            "endPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The ending position of the substring in the new column. **Exclusive**."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "endPosition", "name", "startPosition", "type"],
                "title": "Split By Position Virtual Column"
            },
            "ApiTransactionIdSelection_Update": {
                "type": "object",
                "properties": {
                    "columnSelection": {
                        "type": "array",
                        "description": "The columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "virtualColumnSelection": {
                        "type": "array",
                        "description": "The virtual columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type used when selecting a transaction ID.",
                        "enum": ["COMBINATION", "RUNNING_TOTAL"]
                    },
                    "applySmartSplitter": {
                        "type": "boolean",
                        "description": "Indicates whether or not the Smart Splitter was run when selecting a transaction ID."
                    }
                },
                "required": ["type"],
                "title": "Transaction ID Selection"
            },
            "ApiVirtualColumn_Update": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the virtual column.", "minLength": 1 },
                    "type": {
                        "type": "string",
                        "description": "The type of virtual column.",
                        "enum": ["DUPLICATE", "SPLIT_BY_POSITION", "SPLIT_BY_DELIMITER", "JOIN"]
                    }
                },
                "required": ["name", "type", "version"],
                "title": "Virtual Column"
            },
            "ApiAsyncResult_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "description": "Indicates the type of job being run.",
                        "enum": [
                            "ANALYSIS_RUN",
                            "ANALYSIS_SOURCE_INGESTION",
                            "ADMIN_REPORT",
                            "DATA_TABLE_EXPORT",
                            "ANALYSIS_ROLL_FORWARD",
                            "GDPDU_UNPACK_JOB",
                            "ACCOUNT_GROUPING_EXPORT",
                            "ACCOUNT_MAPPING_EXPORT",
                            "DATA_TRANSFORMATION_JOB",
                            "CONNECTION_TEST",
                            "CONNECTION_TABLES",
                            "DATA_TABLE",
                            "DATA_SOURCE_IMPORT",
                            "FILE_MANAGER_TO_DATA_TABLE"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "description": "Indicates the current state of the job.",
                        "enum": ["IN_PROGRESS", "COMPLETE", "ERROR"]
                    },
                    "entityId": { "type": "string", "description": "Identifies the entity used in the job." },
                    "entityType": {
                        "type": "string",
                        "description": "Identifies the entity type used in the job.",
                        "enum": [
                            "ORGANIZATION",
                            "ENGAGEMENT",
                            "ANALYSIS",
                            "ANALYSIS_RESULT",
                            "ANALYSIS_SOURCE",
                            "FILE_RESULT",
                            "GDPDU_UNPACK_JOB",
                            "ACCOUNT_GROUPING",
                            "ENGAGEMENT_ACCOUNT_GROUPING",
                            "FILE_MANAGER_FILE",
                            "CONNECTION_TEST_RESULT",
                            "CONNECTION_TABLES_RESULT",
                            "DATA_TABLE",
                            "DATA_SOURCE_IMPORT_TASK"
                        ]
                    },
                    "error": { "type": "string", "description": "The reason why the async job failed." },
                    "errorMessage": { "type": "string" }
                },
                "title": "Async Result"
            },
            "ApiAnalysisPeriod_Update": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "startDate": { "type": "string", "format": "date", "description": "The first day of the period under analysis." },
                    "interimAsAtDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The last day of the interim period under analysis."
                    },
                    "endDate": { "type": "string", "format": "date", "description": "The last day of the period under analysis." }
                },
                "required": ["endDate", "startDate"]
            },
            "ApiAnalysis_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "name": { "type": "string", "description": "The name of the analysis.", "maxLength": 80, "minLength": 0 },
                    "archived": { "type": "boolean", "description": "Indicates whether or not the analysis has been archived." },
                    "analysisPeriods": {
                        "type": "array",
                        "description": "Details about the specific analysis periods under audit.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisPeriod_Update" },
                        "minItems": 1
                    },
                    "currencyCode": { "type": "string", "description": "The currency to be displayed across the analysis results." },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the reporting period configuration associated with this analysis."
                    },
                    "accountingPeriod": {
                        "$ref": "#/components/schemas/ApiAccountingPeriod_Update",
                        "description": "Details about the accounting period used in this analysis."
                    }
                },
                "required": ["analysisPeriods", "currencyCode", "name", "version"],
                "title": "Analysis"
            },
            "ApiAnalysisImportantColumn_Read": {
                "type": "object",
                "properties": {
                    "columnName": { "type": "string", "description": "The name of the column as it appears in the imported file." },
                    "field": { "type": "string", "description": "The name of the additional data column." }
                }
            },
            "ApiAnalysisPeriodGap_Read": {
                "type": "object",
                "properties": {
                    "analysisPeriodId": { "type": "string", "description": "Identifies the analysis period." },
                    "previousAnalysisPeriodId": {
                        "type": "string",
                        "description": "Identifies the previous analysis period relevant to the current analysis period."
                    },
                    "days": { "type": "integer", "format": "int64", "description": "The number of days between two analysis periods." }
                },
                "required": ["analysisPeriodId", "days", "previousAnalysisPeriodId"]
            },
            "ApiAnalysisPeriod_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "startDate": { "type": "string", "format": "date", "description": "The first day of the period under analysis." },
                    "interimAsAtDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The last day of the interim period under analysis."
                    },
                    "endDate": { "type": "string", "format": "date", "description": "The last day of the period under analysis." }
                },
                "required": ["endDate", "startDate"]
            },
            "ApiAnalysis_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the type of analysis." },
                    "name": { "type": "string", "description": "The name of the analysis." },
                    "interim": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis is using an interim time frame."
                    },
                    "archived": { "type": "boolean", "description": "Indicates whether or not the analysis has been archived." },
                    "converted": {
                        "type": "boolean",
                        "description": "Indicates whether or not an interim analysis time frame has been converted to a full analysis time frame."
                    },
                    "periodic": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis is using a periodic time frame."
                    },
                    "importantColumns": {
                        "type": "array",
                        "description": "Additional data columns that can be used when importing additional data.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisImportantColumn_Read" }
                    },
                    "analysisPeriods": {
                        "type": "array",
                        "description": "Details about the specific analysis periods under audit.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisPeriod_Read" }
                    },
                    "analysisPeriodGaps": {
                        "type": "array",
                        "description": "Details about the gap in time between two analysis periods.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisPeriodGap_Read" }
                    },
                    "currencyCode": { "type": "string", "description": "The currency to be displayed across the analysis results." },
                    "latestAnalysisResultId": { "type": "string" },
                    "referenceId": { "type": "string", "description": "A reference ID to identify the analysis." },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the reporting period configuration associated with this analysis."
                    },
                    "accountingPeriod": {
                        "$ref": "#/components/schemas/ApiAccountingPeriod_Read",
                        "description": "Details about the accounting period used in this analysis."
                    }
                },
                "title": "Analysis"
            },
            "ApiAccountMapping_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "code": { "type": "string", "description": "The account grouping code mapped to this account." },
                    "accountTags": {
                        "type": "array",
                        "description": "A list of account tags associated with this account.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    }
                },
                "required": ["accountTags", "version"],
                "title": "Account Mapping"
            },
            "ApiAccountMapping_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "account": { "type": "string", "description": "The account name as provided in the source data." },
                    "accountDescription": {
                        "type": "string",
                        "description": "The description of the account as provided in the source data."
                    },
                    "code": { "type": "string", "description": "The account grouping code mapped to this account." },
                    "status": {
                        "type": "string",
                        "description": "Indicates the current status of the account mapping.",
                        "enum": ["MANUAL", "MAC_CODE", "MODIFIED_MAC", "UNVERIFIED", "VERIFIED", "INFERRED", "UNMAPPED", "USED", "UNUSED"]
                    },
                    "usedByAnalysisSources": {
                        "type": "array",
                        "description": "A list of analysis sources that use this account.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "fundId": { "type": "string", "description": "The fund that includes this account." },
                    "accountTags": {
                        "type": "array",
                        "description": "A list of account tags associated with this account.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    }
                },
                "title": "Account Mapping"
            },
            "ApiAccountGroup_Update": {
                "type": "object",
                "properties": {
                    "macCode": { "type": "string", "description": "The MAC code mapped to this account group." },
                    "accountTags": {
                        "type": "array",
                        "description": "A list of account tags assigned to this account group.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Account Group"
            },
            "ApiAccountGroup_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "accountGroupingId": {
                        "type": "string",
                        "description": "The unique identifier for the account grouping that the account group belongs to."
                    },
                    "code": { "type": "string", "description": "The account code for this account group." },
                    "description": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A description of the account code for this account group."
                    },
                    "lowestLevel": { "type": "boolean" },
                    "hierarchy": {
                        "type": "array",
                        "description": "A list of the parent codes for this account group.",
                        "items": { "type": "string" }
                    },
                    "parentCode": { "type": "string", "description": "The parent code for this account group." },
                    "macCode": { "type": "string", "description": "The MAC code mapped to this account group." },
                    "accountTags": {
                        "type": "array",
                        "description": "A list of account tags assigned to this account group.",
                        "items": { "type": "string" }
                    },
                    "publishedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date this account group was published. If not set, this account group is not published.\n\nPublished account groups cannot be updated."
                    },
                    "orderIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The order in which this account group is displayed, relative to other account groups with the same parent."
                    },
                    "errors": {
                        "type": "array",
                        "description": "A list of errors associated with this account group.",
                        "items": { "$ref": "#/components/schemas/ApiAccountGroupError_Read" }
                    }
                },
                "title": "Account Group"
            },
            "ApiAccountGrouping_Update": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account grouping."
                    },
                    "archived": { "type": "boolean", "description": "When `true`, the account grouping is archived." },
                    "publishStatus": {
                        "type": "string",
                        "description": "The current status of the account grouping.",
                        "enum": ["DRAFT", "UNPUBLISHED_CHANGES", "PUBLISHED"]
                    }
                },
                "title": "Account Grouping"
            },
            "ApiAccountGrouping_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account grouping."
                    },
                    "codeDisplayName": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account code hierarchy system used within the dataset."
                    },
                    "delimiter": {
                        "type": "string",
                        "description": "The delimiter character used to separate each category level in an account grouping code."
                    },
                    "mac": { "type": "boolean", "description": "When `true`, the account grouping is based on the MAC code system." },
                    "system": {
                        "type": "boolean",
                        "description": "When `true`, the account grouping is a system account grouping and cannot be modified."
                    },
                    "archived": { "type": "boolean", "description": "When `true`, the account grouping is archived." },
                    "publishedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the account grouping was published."
                    },
                    "publishStatus": {
                        "type": "string",
                        "description": "The current status of the account grouping.",
                        "enum": ["DRAFT", "UNPUBLISHED_CHANGES", "PUBLISHED"]
                    }
                },
                "title": "Account Grouping"
            },
            "ApiWebhook_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the webhook.", "minLength": 1 },
                    "url": { "type": "string", "description": "The URL to which the webhook will send notifications.", "minLength": 1 },
                    "technicalContactId": {
                        "type": "string",
                        "description": "A reference to an administrative user used to inform system administrators of issues with the webhooks."
                    },
                    "events": {
                        "type": "array",
                        "description": "A list of events that will trigger this webhook.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "EXPORT_READY",
                                "FILE_MANAGER_FILE_ADDED",
                                "DATA_ADDED",
                                "INGESTION_COMPLETE",
                                "INGESTION_FAILED",
                                "ANALYSIS_COMPLETE",
                                "ANALYSIS_FAILED",
                                "UNMAPPED_ACCOUNTS",
                                "ENGAGEMENT_CREATED",
                                "ENGAGEMENT_UPDATED",
                                "ENGAGEMENT_DELETED",
                                "ANALYSIS_CREATED",
                                "ANALYSIS_UPDATED",
                                "ANALYSIS_DELETED",
                                "ANALYSIS_ARCHIVED",
                                "ANALYSIS_UNARCHIVED",
                                "USER_INVITED",
                                "USER_STATUS_UPDATED",
                                "USER_ROLE_UPDATED",
                                "USER_DELETED",
                                "USER_LOGIN"
                            ],
                            "title": "Event Type"
                        },
                        "maxItems": 2147483647,
                        "minItems": 1
                    },
                    "status": { "type": "string", "description": "The current status of the webhook.", "enum": ["ACTIVE", "INACTIVE"] }
                },
                "required": ["events", "name", "status", "technicalContactId", "url"],
                "title": "Webhook"
            },
            "ApiPageApiWebhook_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiWebhook_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiPageable_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32", "description": "The current page number." },
                    "pageSize": {
                        "type": "integer",
                        "format": "int32",
                        "deprecated": true,
                        "description": "The number of requested elements on a page."
                    },
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "deprecated": true,
                        "description": "Indicates by how many pages the first page is offset."
                    },
                    "sort": {
                        "$ref": "#/components/schemas/SortObject_Read",
                        "deprecated": true,
                        "description": "Indicates how the data will be sorted."
                    }
                }
            },
            "SortObject_Read": {
                "type": "object",
                "properties": { "sorted": { "type": "boolean" }, "unsorted": { "type": "boolean" }, "empty": { "type": "boolean" } }
            },
            "ApiPageApiWebhookEventLog_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiWebhookEventLog_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiWebhookEventLog_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string" },
                    "version": { "type": "integer", "format": "int64" },
                    "creationDate": { "type": "string", "format": "date-time" },
                    "lastModifiedDate": { "type": "string", "format": "date-time" },
                    "createdUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "lastModifiedUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "status": { "type": "string", "enum": ["IN_PROGRESS", "COMPLETED", "FAILED", "FAILED_PERMANENTLY", "DISCONNECTED"] },
                    "webhookId": { "type": "string" },
                    "attemptStartDate": { "type": "string", "format": "date-time" },
                    "url": { "type": "string" },
                    "eventType": { "type": "string" },
                    "requestHeaders": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } },
                    "requestBody": { "type": "string" },
                    "responseStatusCode": { "type": "integer", "format": "int32" },
                    "responseHeaders": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } },
                    "responseTimeSec": { "type": "number", "format": "float" },
                    "retryCount": { "type": "integer", "format": "int32" },
                    "requestId": { "type": "string" }
                },
                "title": "Webhook Event Log"
            },
            "ApiUser_Create": {
                "type": "object",
                "properties": {
                    "email": { "type": "string", "format": "email", "description": "The user's email address.", "minLength": 1 },
                    "role": {
                        "type": "string",
                        "description": "The MindBridge role assigned to the user. [Learn about user roles](https://support.mindbridge.ai/hc/en-us/articles/360056394954-User-roles-available-in-MindBridge)",
                        "enum": [
                            "ROLE_ADMIN",
                            "ROLE_ORGANIZATION_ADMIN",
                            "ROLE_USER",
                            "ROLE_CLIENT",
                            "ROLE_MINDBRIDGE_SUPPORT",
                            "ROLE_USER_ADMIN"
                        ]
                    }
                },
                "required": ["email", "role"],
                "title": "User"
            },
            "ApiPageApiUser_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiUser_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiPageApiTransactionIdPreview_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiTransactionIdPreview_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiTransactionIdPreviewIndicator_Read": {
                "type": "object",
                "properties": {
                    "rating": {
                        "type": "string",
                        "description": "The quality of the indicator as rated by MindBridge.",
                        "enum": ["BLOCK", "FAIL", "POOR", "NEUTRAL", "GOOD"]
                    },
                    "value": { "description": "A value for this specific indicator." },
                    "data": {
                        "type": "array",
                        "description": "The set of transactions related to a specific indicator.",
                        "items": { "$ref": "#/components/schemas/ApiTransactionIdPreviewRow_Read" }
                    }
                },
                "title": "Transaction ID Preview Indicator"
            },
            "ApiTransactionIdPreviewRow_Read": {
                "type": "object",
                "properties": {
                    "transactionId": { "type": "string", "description": "Identifies the transaction ID for this transaction." },
                    "balance": { "type": "integer", "format": "int64", "description": "The balance of the transaction." },
                    "entryCount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of entries that appear within the transaction."
                    },
                    "detailRows": {
                        "type": "array",
                        "description": "The set of entries that appear within the transaction.",
                        "items": { "type": "object", "additionalProperties": {} }
                    }
                },
                "title": "Transaction ID Preview Row"
            },
            "ApiTransactionIdPreview_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string" },
                    "analysisId": { "type": "string" },
                    "analysisSourceId": { "type": "string", "description": "The unique identifier of the associated analysis source." },
                    "columnSelection": {
                        "type": "array",
                        "description": "The list of columns used to generate the transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type used when selecting a transaction ID.",
                        "enum": ["COMBINATION", "RUNNING_TOTAL"]
                    },
                    "smartSplitter": {
                        "type": "boolean",
                        "description": "Indicates whether or not the Smart Splitter was run when selecting a transaction ID."
                    },
                    "overallRating": {
                        "type": "string",
                        "description": "The quality of the transaction ID as rated by MindBridge.",
                        "enum": ["BLOCK", "FAIL", "POOR", "NEUTRAL", "GOOD"]
                    },
                    "indicators": {
                        "type": "object",
                        "additionalProperties": { "$ref": "#/components/schemas/ApiTransactionIdPreviewIndicator_Read" },
                        "description": "The data integrity checks used when selecting a transaction ID."
                    },
                    "entryPreviews": {
                        "type": "array",
                        "description": "Details about the transactions generated by this transaction ID selection.",
                        "items": { "$ref": "#/components/schemas/ApiTransactionIdPreviewRow_Read" }
                    }
                },
                "title": "Transaction ID Preview"
            },
            "ApiTask_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisResultId": { "type": "string" },
                    "rowId": { "type": "integer", "format": "int64", "description": "Identifies the associated entry." },
                    "transactionId": { "type": "integer", "format": "int64", "description": "Identifies the associated transaction." },
                    "status": {
                        "type": "string",
                        "description": "The current state of the task.",
                        "enum": ["OPEN", "NORMAL", "COMPLETED", "DISMISSED", "RESOLVED"],
                        "title": "Task Status"
                    },
                    "assignedId": { "type": "string", "description": "Identifies the user assigned to this task." },
                    "description": { "type": "string", "description": "A description of the task." },
                    "sample": { "type": "string", "description": "Which sample this task is a part of." },
                    "auditAreas": {
                        "type": "array",
                        "description": "Which audit areas this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "assertions": {
                        "type": "array",
                        "description": "Which assertions this task is associated with.",
                        "items": { "type": "string" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of entry this task is associated with.",
                        "enum": [
                            "ENTRY",
                            "TRANSACTION",
                            "AP_ENTRY",
                            "AR_ENTRY",
                            "AP_OUTSTANDING_ENTRY",
                            "AR_OUTSTANDING_ENTRY",
                            "TRA_ENTRY",
                            "SUBLEDGER_ENTRY"
                        ],
                        "title": "Task Type"
                    },
                    "taskApprovalStatus": {
                        "type": "string",
                        "enum": ["PENDING", "REJECTED", "APPROVED"],
                        "title": "Task Approval Status"
                    },
                    "dueDate": { "type": "string", "format": "date" },
                    "tags": { "type": "array", "items": { "type": "string" } }
                },
                "required": ["analysisResultId", "engagementId", "status", "type"],
                "title": "Task"
            },
            "ApiTaskComment_Create": {
                "type": "object",
                "properties": { "commentText": { "type": "string", "description": "The text of the comment." } },
                "title": "Task Comment"
            },
            "ApiPageApiTask_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiTask_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiPageApiTaskHistory_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiTaskHistory_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiTaskHistoryEntry_Read": {
                "type": "object",
                "properties": {
                    "fieldName": { "type": "string" },
                    "fieldType": { "type": "string", "enum": ["ARRAY", "ISO_DATE", "OBJECT", "STRING", "INTEGER"] },
                    "previousValue": {},
                    "newValue": {},
                    "previousValueString": { "type": "string" },
                    "newValueString": { "type": "string" }
                },
                "title": "Task History Entry"
            },
            "ApiTaskHistory_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "dateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time that the task history was created."
                    },
                    "userName": { "type": "string", "description": "Name of the user associated with the history record" },
                    "taskId": { "type": "string", "description": "Identifies the associated task." },
                    "userId": { "type": "string", "description": "The id of the user associated with the history record" },
                    "operation": {
                        "type": "string",
                        "description": "The operation that was performed on the task.",
                        "enum": ["CREATE", "UPDATE", "COMPLETED", "DELETE", "COMMENT", "ASSIGNMENT", "STATUS_CHANGE", "MARKASNORMAL"]
                    },
                    "changes": {
                        "type": "array",
                        "description": "A list of changes that were made to the task.",
                        "items": { "$ref": "#/components/schemas/ApiTaskHistoryEntry_Read" }
                    }
                },
                "title": "Task History"
            },
            "ApiFilterAccountCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "ACCOUNT_NODE_ARRAY",
                                "enum": ["ACCOUNT_NODE_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "accountSelections": {
                                "type": "array",
                                "items": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Create" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Account Condition"
            },
            "ApiFilterAccountSelection_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The display name of the account being selected." },
                    "code": { "type": "string", "description": "The account grouping code or account ID of the selected account." },
                    "useAccountId": {
                        "type": "boolean",
                        "description": "If `true` then the selected account will be identified by the account ID rather than the grouping code."
                    }
                },
                "title": "Filter Account Selection"
            },
            "ApiFilterComplexMonetaryFlowCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "COMPLEX_FLOW",
                                "enum": ["COMPLEX_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Complex Monetary Flow Condition"
            },
            "ApiFilterCondition_Create": {
                "type": "object",
                "discriminator": {
                    "propertyName": "type",
                    "mapping": {
                        "GROUP": "#/components/schemas/ApiFilterGroupCondition",
                        "STRING": "#/components/schemas/ApiFilterStringCondition",
                        "STRING_ARRAY": "#/components/schemas/ApiFilterStringArrayCondition",
                        "CONTROL_POINT": "#/components/schemas/ApiFilterControlPointCondition",
                        "ACCOUNT_NODE_ARRAY": "#/components/schemas/ApiFilterAccountCondition",
                        "TYPEAHEAD_ENTRY": "#/components/schemas/ApiFilterTypeaheadEntryCondition",
                        "POPULATIONS": "#/components/schemas/ApiFilterPopulationsCondition",
                        "RISK_SCORE": "#/components/schemas/ApiFilterRiskScoreCondition",
                        "MONETARY_FLOW": "#/components/schemas/ApiFilterMonetaryFlowCondition",
                        "MONEY": "#/components/schemas/ApiFilterMonetaryValueCondition",
                        "MATERIALITY": "#/components/schemas/ApiFilterMaterialityCondition",
                        "NUMERICAL": "#/components/schemas/ApiFilterNumericalValueCondition",
                        "DATE": "#/components/schemas/ApiFilterDateCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterGroupCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterStringCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterStringArrayCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterControlPointCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterAccountCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterTypeaheadEntryCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterPopulationsCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Create" }
                ],
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "The type of condition.",
                        "enum": [
                            "GROUP",
                            "STRING",
                            "STRING_ARRAY",
                            "CONTROL_POINT",
                            "ACCOUNT_NODE_ARRAY",
                            "TYPEAHEAD_ENTRY",
                            "POPULATIONS",
                            "RISK_SCORE",
                            "MONETARY_FLOW",
                            "MONEY",
                            "MATERIALITY",
                            "NUMERICAL",
                            "DATE"
                        ],
                        "title": "Filter Condition Type"
                    }
                },
                "required": ["type"],
                "title": "Filter Condition"
            },
            "ApiFilterControlPointCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "CONTROL_POINT",
                                "enum": ["CONTROL_POINT"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskLevel": {
                                "type": "string",
                                "description": "The risk level of the selected control points.",
                                "enum": ["HIGH_RISK", "MEDIUM_RISK", "LOW_RISK"],
                                "title": "Filter Control Point Risk Level"
                            },
                            "controlPoints": {
                                "type": "array",
                                "description": "A list of control point selections.",
                                "items": { "$ref": "#/components/schemas/ApiFilterControlPointSelection_Create" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Control Point Condition"
            },
            "ApiFilterControlPointSelection_Create": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The ID of the selected control point." },
                    "name": { "type": "string", "description": "The display name of the control point." },
                    "symbolicName": {
                        "type": "string",
                        "description": "The symbolic name of the target control point. For custom control points this is the symbolic name of the control point it is based on."
                    },
                    "rulesBased": { "type": "boolean" }
                },
                "title": "Filter Control Point Selection"
            },
            "ApiFilterDateCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": {
                                "type": "string",
                                "description": "The type of date condition.",
                                "enum": ["BEFORE", "AFTER", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Date Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "dateType",
                    "mapping": {
                        "AFTER": "#/components/schemas/ApiFilterDateValueCondition",
                        "BEFORE": "#/components/schemas/ApiFilterDateValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterDateValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterDateRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterDateRangeCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Date Condition"
            },
            "ApiFilterDateRangeCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": { "type": "string", "default": "BETWEEN", "enum": ["BETWEEN"], "title": "Filter Date Type" },
                            "rangeStart": {
                                "type": "string",
                                "format": "date",
                                "description": "The start of an ISO date range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "string",
                                "format": "date",
                                "description": "The end of an ISO date range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Range Condition"
            },
            "ApiFilterDateValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterDateCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "DATE", "enum": ["DATE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "dateType": { "type": "string", "enum": ["AFTER", "BEFORE", "SPECIFIC_VALUE"], "title": "Filter Date Type" },
                            "value": { "type": "string", "format": "date", "description": "An ISO date value to compare entries to." }
                        }
                    }
                ],
                "required": ["dateType", "type"],
                "title": "Filter Date Value Condition"
            },
            "ApiFilterGroupCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "GROUP", "enum": ["GROUP"], "title": "Filter Condition Type" },
                            "operator": {
                                "type": "string",
                                "description": "The operator to be applied to conditions within this group.",
                                "enum": ["AND", "OR"],
                                "title": "Filter Group Operator"
                            },
                            "conditions": {
                                "type": "array",
                                "description": "The entries within this condition group.",
                                "items": { "$ref": "#/components/schemas/ApiFilterCondition" },
                                "minItems": 1
                            }
                        }
                    }
                ],
                "required": ["conditions", "operator", "type"],
                "title": "Filter Group Condition"
            },
            "ApiFilterMaterialityCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "description": "The type of materiality comparison.",
                                "enum": ["ABOVE", "BELOW", "PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "materialityOption",
                    "mapping": {
                        "ABOVE": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "BELOW": "#/components/schemas/ApiFilterMaterialityOptionCondition",
                        "PERCENTAGE": "#/components/schemas/ApiFilterMaterialityValueCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityOptionCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterMaterialityValueCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Materiality Condition"
            },
            "ApiFilterMaterialityOptionCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "enum": ["ABOVE", "BELOW"],
                                "title": "Filter Materiality Value Options"
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Option Condition"
            },
            "ApiFilterMaterialityValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMaterialityCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MATERIALITY",
                                "enum": ["MATERIALITY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "materialityOption": {
                                "type": "string",
                                "default": "PERCENTAGE",
                                "enum": ["PERCENTAGE"],
                                "title": "Filter Materiality Value Options"
                            },
                            "value": {
                                "type": "number",
                                "format": "double",
                                "description": "The percentage value, as a decimal number, with 100.00 being 100%."
                            }
                        }
                    }
                ],
                "required": ["materialityOption", "type"],
                "title": "Filter Materiality Value Condition"
            },
            "ApiFilterMonetaryFlowCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "description": "The type of monetary flow this filter will match.",
                                "enum": ["SIMPLE_FLOW", "COMPLEX_FLOW", "SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryFlowType",
                    "mapping": {
                        "SIMPLE_FLOW": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition",
                        "COMPLEX_FLOW": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition",
                        "SPECIFIC_FLOW": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSimpleMonetaryFlowCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterComplexMonetaryFlowCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Flow Condition"
            },
            "ApiFilterMonetaryValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "description": "The type of monetary value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Monetary Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "monetaryValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterMonetaryValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterMonetaryValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueRangeCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Monetary Condition"
            },
            "ApiFilterMonetaryValueRangeCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Monetary Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Range Condition"
            },
            "ApiFilterMonetaryValueValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryValueCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "MONEY", "enum": ["MONEY"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Monetary Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryValueType", "type"],
                "title": "Filter Monetary Value Condition"
            },
            "ApiFilterNumericalValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "description": "The type of numerical value condition.",
                                "enum": ["MORE_THAN", "LESS_THAN", "SPECIFIC_VALUE", "BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "numericalValueType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterNumericalValueValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterNumericalValueRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueRangeCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Numerical Condition"
            },
            "ApiFilterNumericalValueRangeCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start value of a range to compare entries to."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end value of a range to compare entries to."
                            }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Range Condition"
            },
            "ApiFilterNumericalValueValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterNumericalValueCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "NUMERICAL", "enum": ["NUMERICAL"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "numericalValueType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "SPECIFIC_VALUE", "LESS_THAN"],
                                "title": "Filter Numerical Value Type"
                            },
                            "value": { "type": "integer", "format": "int64", "description": "A value to compare entries to." }
                        }
                    }
                ],
                "required": ["numericalValueType", "type"],
                "title": "Filter Numerical Value Condition"
            },
            "ApiFilterPopulationsCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "POPULATIONS",
                                "enum": ["POPULATIONS"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "populationIds": {
                                "type": "array",
                                "description": "A list of population IDs and category names to be used in the filter.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Populations Condition"
            },
            "ApiFilterRiskScoreCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "description": "Determines if the filter will test entries using high, medium or low scores, or if it will match by percentage.",
                                "enum": ["PERCENT", "HML"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string", "description": "The risk score column being filtered." },
                            "riskScoreLabel": { "type": "string", "description": "The display name of the risk score being filtered." }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScoreType",
                    "mapping": {
                        "PERCENT": "#/components/schemas/ApiFilterRiskScorePercentCondition",
                        "HML": "#/components/schemas/ApiFilterRiskScoreHMLCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreHMLCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Create" }
                ],
                "required": ["type"],
                "title": "Filter Risk Score Condition"
            },
            "ApiFilterRiskScoreHMLCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": { "type": "string", "default": "HML", "enum": ["HML"], "title": "Filter Risk Score Type" },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "values": {
                                "type": "array",
                                "description": "A list of HML options to include in the filter.",
                                "items": {
                                    "type": "string",
                                    "enum": ["HIGH", "MEDIUM", "LOW", "UNSCORED"],
                                    "title": "Filter Risk Score HML Option"
                                }
                            }
                        }
                    }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score HML Condition"
            },
            "ApiFilterRiskScorePercentCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScoreCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "description": "Determines the type of risk score percent condition to filter.",
                                "enum": ["MORE_THAN", "LESS_THAN", "BETWEEN", "CUSTOM_RANGE", "UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "riskScorePercentType",
                    "mapping": {
                        "MORE_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "LESS_THAN": "#/components/schemas/ApiFilterRiskScorePercentValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "CUSTOM_RANGE": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition",
                        "UNSCORED": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentRangeCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentUnscoredCondition_Create" }
                ],
                "required": ["riskScoreType", "type"],
                "title": "Filter Risk Score Percent Condition"
            },
            "ApiFilterRiskScorePercentRangeCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["BETWEEN", "CUSTOM_RANGE"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the number range between 0 and 10,000."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the number range between 0 and 10,000."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Range Condition"
            },
            "ApiFilterRiskScorePercentUnscoredCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "default": "UNSCORED",
                                "enum": ["UNSCORED"],
                                "title": "Filter Risk Score Percent Type"
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Unscored Condition"
            },
            "ApiFilterRiskScorePercentValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterRiskScorePercentCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "RISK_SCORE", "enum": ["RISK_SCORE"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "riskScoreType": {
                                "type": "string",
                                "default": "PERCENT",
                                "enum": ["PERCENT"],
                                "title": "Filter Risk Score Type"
                            },
                            "riskScoreId": { "type": "string" },
                            "riskScoreLabel": { "type": "string" },
                            "riskScorePercentType": {
                                "type": "string",
                                "enum": ["MORE_THAN", "LESS_THAN"],
                                "title": "Filter Risk Score Percent Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "A number between 0 and 10,000 used as part of a more than, or less than filter."
                            }
                        }
                    }
                ],
                "required": ["riskScorePercentType", "riskScoreType", "type"],
                "title": "Filter Risk Score Percent Value Condition"
            },
            "ApiFilterSimpleMonetaryFlowCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SIMPLE_FLOW",
                                "enum": ["SIMPLE_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Simple Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterMonetaryFlowCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Create",
                                "description": "The selected credit account in the monetary flow."
                            },
                            "debitAccount": {
                                "$ref": "#/components/schemas/ApiFilterAccountSelection_Create",
                                "description": "The selected debit account in the monetary flow."
                            },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "description": "The type of specific monetary flow.",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN", "BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            }
                        }
                    }
                ],
                "discriminator": {
                    "propertyName": "specificMonetaryFlowType",
                    "mapping": {
                        "SPECIFIC_VALUE": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "MORE_THAN": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition",
                        "BETWEEN": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition"
                    }
                },
                "oneOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowValueCondition_Create" },
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowRangeCondition_Create" }
                ],
                "required": ["monetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Condition"
            },
            "ApiFilterSpecificMonetaryFlowRangeCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Create" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Create" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "default": "BETWEEN",
                                "enum": ["BETWEEN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "rangeStart": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The start of the range, as a MONEY_100 formatted number to compare with entries."
                            },
                            "rangeEnd": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The end of the range, as a MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Range Condition"
            },
            "ApiFilterSpecificMonetaryFlowValueCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterSpecificMonetaryFlowCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "MONETARY_FLOW",
                                "enum": ["MONETARY_FLOW"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "monetaryFlowType": {
                                "type": "string",
                                "default": "SPECIFIC_FLOW",
                                "enum": ["SPECIFIC_FLOW"],
                                "title": "Filter Monetary Flow Type"
                            },
                            "creditAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Create" },
                            "debitAccount": { "$ref": "#/components/schemas/ApiFilterAccountSelection_Create" },
                            "specificMonetaryFlowType": {
                                "type": "string",
                                "enum": ["SPECIFIC_VALUE", "MORE_THAN"],
                                "title": "Filter Specific Monetary Flow Type"
                            },
                            "value": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The MONEY_100 formatted number to compare with entries."
                            }
                        }
                    }
                ],
                "required": ["monetaryFlowType", "specificMonetaryFlowType", "type"],
                "title": "Filter Specific Monetary Flow Value Condition"
            },
            "ApiFilterStringArrayCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "STRING_ARRAY",
                                "enum": ["STRING_ARRAY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "values": {
                                "type": "array",
                                "description": "The set of text values used to filter entries.",
                                "items": { "type": "string" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Array Condition"
            },
            "ApiFilterStringCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": { "type": "string", "default": "STRING", "enum": ["STRING"], "title": "Filter Condition Type" },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "value": { "type": "string", "description": "The text value used to filter entries." }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter String Condition"
            },
            "ApiFilterTypeaheadEntryCondition_Create": {
                "type": "object",
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFilterCondition_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "type": {
                                "type": "string",
                                "default": "TYPEAHEAD_ENTRY",
                                "enum": ["TYPEAHEAD_ENTRY"],
                                "title": "Filter Condition Type"
                            },
                            "field": { "type": "string" },
                            "fieldLabel": { "type": "string" },
                            "negated": { "type": "boolean" },
                            "values": {
                                "type": "array",
                                "description": "A list of typeahead entry selections to be used in the filter.",
                                "items": { "$ref": "#/components/schemas/ApiTypeaheadEntry_Create" }
                            }
                        }
                    }
                ],
                "required": ["type"],
                "title": "Filter Typeahead Entry Condition"
            },
            "ApiFilter_Create": {
                "type": "object",
                "properties": {
                    "analysisTypeId": { "type": "string", "description": "Identifies the associated analysis type." },
                    "organizationId": {
                        "type": "string",
                        "description": "Identifies the parent organization, if applicable. Can only be set if `filterType` is `ORGANIZATION` or `PRIVATE`."
                    },
                    "libraryId": {
                        "type": "string",
                        "description": "Identifies the parent library, if applicable. Can only be set if `filterType` is `LIBRARY`."
                    },
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the parent engagement, if applicable. Can only be set if `filterType` is `ENGAGEMENT`."
                    },
                    "filterType": {
                        "type": "string",
                        "description": "The type of this filter. Determines in which context analyses can access it.",
                        "enum": ["LIBRARY", "ORGANIZATION", "PRIVATE", "ENGAGEMENT"],
                        "title": "Filter Type"
                    },
                    "dataType": {
                        "type": "string",
                        "description": "The intended data type for this filter.",
                        "enum": ["TRANSACTIONS", "ENTRIES", "LIBRARY"],
                        "title": "Filter Data Type"
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of this filter.",
                        "minProperties": 1
                    },
                    "category": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The category of this filter.",
                        "minProperties": 1
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 3 digit currency code used to determine how currency values are formatted for display. Defaults to `USD` if no value is selected."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used when formatting some display values. Defaults to `en-us` if no value is specified."
                    },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Create",
                        "description": "A group filter containing all the conditions included in this filter."
                    }
                },
                "required": ["analysisTypeId", "category", "condition", "name"],
                "title": "Saved Filter"
            },
            "ApiTypeaheadEntry_Create": {
                "type": "object",
                "properties": {
                    "lookupId": { "type": "string", "description": "The identifier of the selected entry." },
                    "displayName": { "type": "string", "description": "The display name of the selected entry." },
                    "hideLookupId": {
                        "type": "boolean",
                        "description": "If `false` then the entry will be displayed with both the lookup ID and the display name. If `true` then only the display name will be used when displaying this entry."
                    }
                },
                "title": "Filter Typeahead Entry"
            },
            "ApiFilterValidateRequest_Create": {
                "type": "object",
                "properties": { "filterId": { "type": "string" }, "dataTableId": { "type": "string" } },
                "required": ["dataTableId", "filterId"],
                "title": "Saved Filter Validate Request"
            },
            "ApiPageApiFilter_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiFilter_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiRiskRangeBounds_Create": {
                "type": "object",
                "properties": {
                    "lowThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The low threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    },
                    "highThreshold": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The high threshold of the risk range.",
                        "maximum": 10000,
                        "minimum": 0
                    }
                },
                "title": "Risk Range Bounds"
            },
            "ApiRiskRanges_Create": {
                "type": "object",
                "properties": {
                    "low": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Create", "description": "The low range bounds." },
                    "medium": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Create", "description": "The medium range bounds." },
                    "high": { "$ref": "#/components/schemas/ApiRiskRangeBounds_Create", "description": "The high range bounds." },
                    "libraryId": { "type": "string", "description": "Identifies the library associated with this risk range." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the analysis type associated with this risk range." },
                    "name": { "type": "string", "description": "The name of the risk range.", "maxLength": 80, "minLength": 0 },
                    "description": {
                        "type": "string",
                        "description": "The description of the risk range.",
                        "maxLength": 250,
                        "minLength": 0
                    }
                },
                "required": ["analysisTypeId", "libraryId", "name"],
                "title": "Risk Ranges"
            },
            "ApiPageApiRiskRanges_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiRiskRanges_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiMonthlyReportingPeriod_Create": {
                "type": "object",
                "properties": {
                    "periodNumber": { "type": "integer", "format": "int32" },
                    "quarterNumber": { "type": "integer", "format": "int32" },
                    "yearLabel": { "type": "string", "minLength": 1 },
                    "startDate": { "type": "string", "format": "date" },
                    "endDate": { "type": "string", "format": "date" }
                },
                "required": ["endDate", "periodNumber", "quarterNumber", "startDate", "yearLabel"],
                "title": "Monthly Reporting Period"
            },
            "ApiReportingPeriodConfigurationRequest_Create": {
                "type": "object",
                "properties": {
                    "monthlyReportingPeriods": {
                        "type": "array",
                        "items": { "$ref": "#/components/schemas/ApiMonthlyReportingPeriod_Create" },
                        "minItems": 1
                    },
                    "weeklyReportingPeriods": {
                        "type": "array",
                        "items": { "$ref": "#/components/schemas/ApiWeeklyReportingPeriod_Create" },
                        "minItems": 1
                    }
                },
                "required": ["monthlyReportingPeriods", "weeklyReportingPeriods"],
                "title": " Reporting Period Configuration Request"
            },
            "ApiWeeklyReportingPeriod_Create": {
                "type": "object",
                "properties": {
                    "weekNumber": { "type": "integer", "format": "int32" },
                    "yearLabel": { "type": "string", "minLength": 1 },
                    "startDate": { "type": "string", "format": "date" },
                    "endDate": { "type": "string", "format": "date" }
                },
                "required": ["endDate", "startDate", "weekNumber", "yearLabel"],
                "title": "Weekly Reporting Period"
            },
            "ApiMonthlyReportingPeriod_Read": {
                "type": "object",
                "properties": {
                    "periodNumber": { "type": "integer", "format": "int32" },
                    "quarterNumber": { "type": "integer", "format": "int32" },
                    "yearLabel": { "type": "string" },
                    "startDate": { "type": "string", "format": "date" },
                    "endDate": { "type": "string", "format": "date" }
                },
                "title": "Monthly Reporting Period"
            },
            "ApiReportingPeriodConfiguration_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string" },
                    "version": { "type": "integer", "format": "int64" },
                    "creationDate": { "type": "string", "format": "date-time" },
                    "lastModifiedDate": { "type": "string", "format": "date-time" },
                    "createdUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "lastModifiedUserInfo": { "$ref": "#/components/schemas/ApiUserInfo_Read", "readOnly": true },
                    "monthlyReportingPeriods": {
                        "type": "array",
                        "description": "List of monthly reporting periods.",
                        "items": { "$ref": "#/components/schemas/ApiMonthlyReportingPeriod_Read" }
                    },
                    "weeklyReportingPeriods": {
                        "type": "array",
                        "description": "List of weekly reporting periods.",
                        "items": { "$ref": "#/components/schemas/ApiWeeklyReportingPeriod_Read" }
                    },
                    "status": { "type": "string", "enum": ["UPLOADED", "VALIDATING", "FAILED", "COMPLETED"] }
                },
                "title": "Reporting Period Configuration"
            },
            "ApiWeeklyReportingPeriod_Read": {
                "type": "object",
                "properties": {
                    "weekNumber": { "type": "integer", "format": "int32" },
                    "yearLabel": { "type": "string" },
                    "startDate": { "type": "string", "format": "date" },
                    "endDate": { "type": "string", "format": "date" }
                },
                "title": "Weekly Reporting Period"
            },
            "ApiPageApiReportingPeriodConfiguration_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiReportingPeriodConfiguration_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiPopulationTag_Create": {
                "type": "object",
                "properties": {
                    "analysisTypeId": { "type": "string" },
                    "libraryId": { "type": "string", "description": "The ID of the parent library." },
                    "analysisId": { "type": "string", "description": "The ID of the parent analysis." },
                    "basePopulationId": { "type": "string", "description": "The ID of the population the current population is based on." },
                    "name": { "type": "string", "description": "The name of the population.", "maxLength": 80, "minLength": 0 },
                    "category": { "type": "string", "description": "The category of the population.", "maxLength": 80, "minLength": 0 },
                    "description": {
                        "type": "string",
                        "description": "A description of the population.",
                        "maxLength": 250,
                        "minLength": 0
                    },
                    "disabled": { "type": "boolean" },
                    "condition": {
                        "$ref": "#/components/schemas/ApiFilterGroupCondition_Create",
                        "description": "The filter condition used to determine which entries are included in the population."
                    },
                    "displayCurrencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 three-digit currency code that determines how currency values are formatted. Defaults to `USD` if not specified."
                    },
                    "displayLocale": {
                        "type": "string",
                        "description": "The ISO 639 locale identifier used to format display values. Defaults to `en-us` if not specified."
                    }
                },
                "required": ["analysisTypeId", "category", "condition", "name"],
                "title": "Population"
            },
            "ApiPageApiPopulationTag_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiPopulationTag_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiOrganization_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the organization.", "maxLength": 80, "minLength": 0 },
                    "externalClientCode": {
                        "type": "string",
                        "description": "The unique client ID applied to this organization.",
                        "maxLength": 80,
                        "minLength": 0
                    },
                    "managerUserIds": {
                        "type": "array",
                        "description": "Identifies users assigned to the organization manager role.",
                        "items": { "type": "string" }
                    }
                },
                "required": ["name"],
                "title": "Organization"
            },
            "ApiPageApiOrganization_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiOrganization_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiLibrary_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The current name of the library.", "maxLength": 80, "minLength": 0 },
                    "basedOnLibraryId": {
                        "type": "string",
                        "description": "Identifies the library that the new library is based on. This may be a user-created library or a MindBridge system library."
                    },
                    "convertSettings": {
                        "type": "boolean",
                        "description": "Indicates whether or not settings from the selected base library should be converted for use with the selected account grouping."
                    },
                    "warningsDismissed": {
                        "type": "boolean",
                        "description": "When set to `true`, any conversion warnings for this library will not be displayed in the **Libraries** tab in the UI."
                    },
                    "accountGroupingId": { "type": "string", "description": "Identifies the account grouping used." },
                    "analysisTypeIds": {
                        "type": "array",
                        "description": "Identifies the analysis types used in the library.",
                        "items": { "type": "string" },
                        "minItems": 1
                    },
                    "defaultDelimiter": { "type": "string", "description": "Identifies the default delimiter used in imported CSV files." },
                    "controlPointSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, control points can be added or removed within each risk score."
                    },
                    "controlPointWeightPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, the weight of each control point can be adjusted within each risk score."
                    },
                    "controlPointSettingsPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, individual control point settings can be adjusted within each risk score."
                    },
                    "riskScoreAndGroupsSelectionPermission": {
                        "type": "boolean",
                        "description": "When set to `true`, risk scores and groups can be disabled, and accounts associated with risk scores can be edited."
                    },
                    "riskRangeEditPermission": { "type": "boolean" },
                    "riskScoreDisplay": {
                        "type": "string",
                        "description": "Determines whether risk scores will be presented as percentages (%), or using High, Medium, and Low label indicators.",
                        "enum": ["HIGH_MEDIUM_LOW", "PERCENTAGE"]
                    }
                },
                "required": [
                    "accountGroupingId",
                    "analysisTypeIds",
                    "basedOnLibraryId",
                    "controlPointSelectionPermission",
                    "controlPointSettingsPermission",
                    "controlPointWeightPermission",
                    "name",
                    "riskScoreAndGroupsSelectionPermission",
                    "riskScoreDisplay",
                    "warningsDismissed"
                ],
                "title": "Library"
            },
            "ApiPageApiLibrary_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiLibrary_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiJsonTable_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "headers": { "type": "array", "items": { "type": "string" } },
                    "currentSize": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The combined size of all data that has been appended to this JSON table."
                    }
                },
                "title": "JSON Table"
            },
            "ApiFileExport_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique file export identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the file export.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the file export.",
                        "readOnly": true
                    },
                    "fileName": { "type": "string", "description": "The name of the file." },
                    "size": { "type": "integer", "format": "int64", "description": "The size of the file." }
                },
                "title": "File Result"
            },
            "ApiPageApiFileExport_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiFileExport_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiFileManagerDirectory_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the parent directory. If NULL, the directory is positioned at the root level."
                    },
                    "name": { "type": "string", "description": "The name of the directory.", "minLength": 1 }
                },
                "required": ["engagementId", "name"],
                "title": "File Manager Directory"
            },
            "ApiFileMergeRequest_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the parent directory. If NULL, the directory is positioned at the root level."
                    },
                    "outputFileName": {
                        "type": "string",
                        "description": "The name of the file being generated in the requested merge operation.",
                        "minLength": 1
                    },
                    "fileColumnMappings": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "deprecated": true,
                            "items": { "type": "integer", "format": "int32", "deprecated": true }
                        },
                        "deprecated": true,
                        "description": "**Deprecated: use mappings instead.** Reference to the files and the columns to include in the merge operation."
                    },
                    "mappings": {
                        "type": "array",
                        "description": "Ordered list of file/column selections to merge (each entry has fileManagerFileId and its column indexes).",
                        "items": { "$ref": "#/components/schemas/FileMergeMapping_Create" }
                    }
                },
                "required": ["engagementId", "outputFileName"],
                "title": "File Merge Request"
            },
            "FileMergeMapping_Create": {
                "type": "object",
                "properties": {
                    "fileManagerFileId": { "type": "string", "description": "The file manager file id to merge" },
                    "columns": {
                        "type": "array",
                        "description": "Columns to include from this file, in order",
                        "items": { "type": "integer", "format": "int32" },
                        "minItems": 1
                    }
                },
                "required": ["columns", "fileManagerFileId"],
                "title": "File Merge Mapping"
            },
            "ApiPageApiFileManagerEntity_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": {
                        "type": "array",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiFileManagerDirectory_Read" },
                                { "$ref": "#/components/schemas/ApiFileManagerFile_Read" }
                            ]
                        }
                    },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "CreateApiFileManagerFileFromJsonTableRequest_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the newly created file manager file.", "minLength": 1 },
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the associated engagement to import the formatted file into."
                    },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the file manager entity that will be the parent of the newly created file."
                    },
                    "jsonTableId": { "type": "string", "description": "Identifies the JSON table to be formatted into a file." }
                },
                "required": ["engagementId", "jsonTableId", "name"],
                "title": "Create File From JSON Table Request"
            },
            "ApiCsvConfiguration_Create": {
                "type": "object",
                "properties": {
                    "delimiter": { "type": "string", "description": "The character used to separate entries.", "minLength": 1 },
                    "quote": { "type": "string", "description": "The character used to encapsulate an entry.", "minLength": 1 },
                    "quoteEscape": { "type": "string", "description": "The character used to escape the quote character.", "minLength": 1 },
                    "quoteEscapeEscape": { "type": "string", "description": "The character used to escape the quote escape character." }
                },
                "required": ["delimiter", "quote", "quoteEscape"],
                "title": "CSV Configuration"
            },
            "ApiDataTableExportToFileManagerRequest_Create": {
                "type": "object",
                "properties": {
                    "dataTableId": { "type": "string", "description": "The ID of the Data Table to export data from." },
                    "engagementId": { "type": "string", "description": "The engagement that the Data Table belongs to." },
                    "name": { "type": "string", "description": "The name for the exported CSV file without extension.", "minLength": 1 },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "The ID of the File Manager directory to place the exported file in. If null, the file is placed in the engagement's root directory."
                    },
                    "query": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "An optional filter to apply to the data before exporting."
                    },
                    "sort": {
                        "$ref": "#/components/schemas/ApiDataTableQuerySortOrder_Create",
                        "description": "An optional sort order to apply to the exported rows."
                    },
                    "fields": {
                        "type": "array",
                        "description": "The list of field names (columns) to include in the export.",
                        "items": { "type": "string", "minLength": 1 },
                        "minItems": 1
                    },
                    "limit": { "type": "integer", "format": "int32", "description": "The maximum number of rows to export.", "minimum": 1 },
                    "csvConfiguration": {
                        "$ref": "#/components/schemas/ApiCsvConfiguration_Create",
                        "description": "The configuration to use when generating the CSV file."
                    },
                    "innerListCsvConfiguration": {
                        "$ref": "#/components/schemas/ApiCsvConfiguration_Create",
                        "description": "The configuration to use when formatting list values within cells in the CSV file."
                    }
                },
                "required": ["dataTableId", "engagementId", "fields", "name"],
                "title": "Data Table Export to File Manager Request"
            },
            "ApiDataTableQuerySortOrder_Create": {
                "type": "object",
                "properties": {
                    "field": { "type": "string", "description": "The data table column.", "minLength": 1 },
                    "direction": { "type": "string", "description": "How the column will be sorted.", "enum": ["ASC", "DESC"] }
                },
                "required": ["direction", "field"],
                "title": "Data Table Query Sort Order"
            },
            "ApiFileManagerFile_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "parentFileManagerEntityId": {
                        "type": "string",
                        "description": "Identifies the parent directory. If NULL, the directory is positioned at the root level."
                    },
                    "name": { "type": "string", "description": "The current name of the file, excluding the extension." }
                },
                "required": ["engagementId"],
                "title": "File Manager File"
            },
            "CreateApiFileManagerFileFromChunkedFileRequest_Create": {
                "type": "object",
                "properties": {
                    "chunkedFileId": { "type": "string" },
                    "apiFileManagerFile": { "$ref": "#/components/schemas/ApiFileManagerFile_Create" }
                },
                "required": ["apiFileManagerFile", "chunkedFileId"],
                "title": "Create File From Chunked File Request"
            },
            "ApiBasicMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    }
                },
                "title": "Table Metadata Basic Metrics"
            },
            "ApiColumnData_Read": {
                "type": "object",
                "properties": {
                    "columnName": { "type": "string", "description": "The name of the column." },
                    "position": { "type": "integer", "format": "int32", "description": "The index of the column." },
                    "synthetic": {
                        "type": "boolean",
                        "description": "If `true` this column was generated, as opposed to being a part of the original data."
                    },
                    "rowSample": {
                        "type": "array",
                        "description": "A list of values from this column across multiple rows. All values are distinct.",
                        "items": { "type": "string" }
                    },
                    "columnMetadata": { "$ref": "#/components/schemas/ApiColumnMetadata_Read", "description": "A collection of metrics." }
                },
                "title": "Column Metadata"
            },
            "ApiColumnDateTimeFormat_Read": {
                "type": "object",
                "properties": {
                    "selected": {
                        "type": "boolean",
                        "description": "If true, this format was selected during column mapping as the correct format for this column."
                    },
                    "customFormatPattern": { "type": "string", "description": "The pattern of this date format." },
                    "sampleRawValues": {
                        "type": "array",
                        "description": "A list of values in this column.",
                        "items": { "type": "string" }
                    },
                    "sampleConvertedValues": {
                        "type": "array",
                        "description": "A list of date time values derived by parsing the text using this format.",
                        "items": { "type": "string", "format": "date-time" }
                    }
                },
                "title": "Table Metadata Date Time Format"
            },
            "ApiColumnMetadata_Read": {
                "type": "object",
                "properties": {
                    "cellLengthMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding cells that are larger than 2000 characters in the column."
                    },
                    "dataTypeMetrics": {
                        "$ref": "#/components/schemas/ApiDataTypeMetrics_Read",
                        "description": "Metrics regarding the data types of column values."
                    },
                    "densityMetrics": {
                        "$ref": "#/components/schemas/ApiDensityMetrics_Read",
                        "description": "Metrics regarding the density of column values."
                    },
                    "distinctValueMetrics": {
                        "$ref": "#/components/schemas/ApiDistinctValueMetrics_Read",
                        "description": "Metrics regarding the uniqueness of column values."
                    },
                    "nullValueMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding “null” values in the column."
                    },
                    "scientificNotationMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding the use of scientific notation in the column."
                    },
                    "specialCharacterMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding the use of special characters in the column."
                    }
                },
                "title": "Column Metadata Metrics"
            },
            "ApiCountMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." }
                },
                "title": "Table Metadata Count Metrics"
            },
            "ApiCurrencyFormat_Read": {
                "type": "object",
                "properties": {
                    "decimalCharacter": { "type": "string", "description": "The character used as a decimal separator." },
                    "nonDecimalDelimiters": {
                        "type": "array",
                        "description": "Non decimal separator special characters, including currency and grouping characters.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "ambiguousDelimiters": {
                        "type": "array",
                        "description": "A list of possible delimiter characters, if multiple possible candidates are available.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "example": { "type": "string", "description": "An example value." }
                },
                "title": "Table Metadata Currency Format"
            },
            "ApiDataPreview_Read": {
                "type": "object",
                "properties": {
                    "row": { "type": "integer", "format": "int64", "description": "The row number within the table." },
                    "column": { "type": "integer", "format": "int32", "description": "The column index within the row." },
                    "data": { "type": "string", "description": "The value within the target row." }
                },
                "title": "Table Metadata Data Preview"
            },
            "ApiDataTypeMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "nonNullValueCount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of non-null values in this column."
                    },
                    "typeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of column type to number of occurrences. A single column value can match multiple types."
                    },
                    "textTypeDetails": {
                        "$ref": "#/components/schemas/ApiTextTypeDetails_Read",
                        "description": "Metrics regarding the text type values in this column."
                    },
                    "numericTypeDetails": {
                        "$ref": "#/components/schemas/ApiNumericTypeDetails_Read",
                        "description": "Metrics regarding the number type values in this column."
                    },
                    "dateTypeDetails": {
                        "$ref": "#/components/schemas/ApiDateTypeDetails_Read",
                        "description": "Metrics regarding the date type values in this column."
                    },
                    "detectedTypes": {
                        "type": "array",
                        "description": "A list of all detected types in this column.",
                        "items": { "type": "string", "enum": ["TEXT", "NUMBER", "DATE", "UNKNOWN", "FLOAT64"] }
                    },
                    "dominantType": {
                        "type": "string",
                        "description": "The type determined to be the most prevalent in this column.",
                        "enum": ["TEXT", "NUMBER", "DATE", "UNKNOWN", "FLOAT64"]
                    }
                },
                "title": "Table Metadata Data Type Metrics"
            },
            "ApiDateTypeDetails_Read": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeZonedDateTime_Read",
                        "description": "A pair of values representing the earliest and latest values within this column."
                    },
                    "ambiguousDateTimeFormats": {
                        "type": "array",
                        "description": "A list of possible date time formats, if multiple possible candidates are available.",
                        "items": { "$ref": "#/components/schemas/ApiColumnDateTimeFormat_Read" }
                    },
                    "unambiguousDateTimeFormats": {
                        "type": "array",
                        "description": "A list of possible date time formats, if multiple possible candidates are available.",
                        "items": { "$ref": "#/components/schemas/ApiColumnDateTimeFormat_Read" }
                    }
                },
                "title": "Table Metadata Date Type Details"
            },
            "ApiDensityMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "density": {
                        "type": "number",
                        "format": "float",
                        "description": "The percentage density of values against blanks, represented as decimal between 1 and 0."
                    },
                    "blanks": { "type": "integer", "format": "int64", "description": "The number of blank values." }
                },
                "title": "Table Metadata Density Metrics"
            },
            "ApiDistinctValueMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." }
                },
                "title": "Table Metadata Distinct Metrics"
            },
            "ApiFileInfo_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of file info entity.",
                        "enum": ["FILE_INFO", "TABULAR_FILE_INFO"],
                        "title": "File Info Type"
                    },
                    "name": { "type": "string", "description": "The name of the underlying file or table." },
                    "formatDetected": { "type": "boolean", "description": "When `true` a known grouped format was detected." },
                    "format": {
                        "type": "string",
                        "description": "The grouped format that was detected.",
                        "enum": [
                            "QUICKBOOKS_JOURNAL",
                            "QUICKBOOKS_JOURNAL_2024",
                            "QUICKBOOKS_TRANSACTION_DETAIL_BY_ACCOUNT",
                            "SAGE50_LEDGER",
                            "SAGE50_TRANSACTIONS",
                            "CCH_ACCOUNT_LIST",
                            "MS_DYNAMICS_JOURNAL",
                            "SAGE50_UK"
                        ]
                    }
                },
                "title": "File Info"
            },
            "ApiHistogramMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "histogram": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of the number of columns to the number of rows with that many columns, in the case of unevenColumnsMetrics."
                    }
                },
                "title": "Table Metadata Histogram Metrics"
            },
            "ApiNumericTypeDetails_Read": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeBigDecimal_Read",
                        "description": "A pair of values representing the min and max values within this column."
                    },
                    "currencyFormat": {
                        "$ref": "#/components/schemas/ApiCurrencyFormat_Read",
                        "description": "Metadata on the detected number format of this column."
                    },
                    "examplePairFromCurrencyFormatter": {
                        "type": "array",
                        "description": "A pair of values as examples in the event that two or more unambiguous number formats are detected in the same column.",
                        "items": { "type": "string" }
                    },
                    "sum": {
                        "type": "number",
                        "description": "The sum of all values in this column, up to a maximum of 10e<sup>50</sup>. Values smaller than 10e<sup>-50</sup> will be rounded up."
                    },
                    "cappedSum": { "type": "boolean", "description": "If `true` then the sum is larger than 10e<sup>50</sup>." },
                    "cappedMax": {
                        "type": "boolean",
                        "description": "If `true` then at least one individual value is larger than 10e<sup>50</sup>."
                    }
                },
                "title": "Table Metadata Numeric Type Details"
            },
            "ApiOverallDataTypeMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "cellTypeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of data types to the number of cells in the table of that data type."
                    },
                    "columnTypeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int32" },
                        "description": "A map of data types to the number of columns in the table of that data type."
                    },
                    "totalRecords": { "type": "integer", "format": "int64", "description": "The total number of values." },
                    "blankRecords": { "type": "integer", "format": "int64", "description": "The number of blank values." },
                    "columnCount": { "type": "integer", "format": "int32", "description": "The number of columns." },
                    "totalRows": { "type": "integer", "format": "int64", "description": "The total number of rows." }
                },
                "title": "Table Metadata Overall Data Type Metrics"
            },
            "ApiPageApiFileInfo_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": {
                        "type": "array",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiFileInfo_Read" },
                                { "$ref": "#/components/schemas/ApiTabularFileInfo_Read" }
                            ]
                        }
                    },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiSheetMetrics_Read": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview_Read" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "sheetNames": {
                        "type": "array",
                        "description": "A list of sheet names within the underlying Excel file.",
                        "items": { "type": "string" }
                    },
                    "validSheets": {
                        "type": "array",
                        "description": "A list of usable sheet names within the underlying Excel file.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Table Metadata Sheet Metrics"
            },
            "ApiTableMetadata_Read": {
                "type": "object",
                "properties": {
                    "cellLengthMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding cells that are larger than 2000 characters in the table."
                    },
                    "densityMetrics": {
                        "$ref": "#/components/schemas/ApiDensityMetrics_Read",
                        "description": "Metrics regarding whole table density."
                    },
                    "inconsistentDateMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding inconsistent date formats within columns for the entire table."
                    },
                    "nullValueMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding “null” values across the entire table."
                    },
                    "numericColumnMetrics": {
                        "$ref": "#/components/schemas/ApiBasicMetrics_Read",
                        "description": "Metrics regarding numeric columns within the table."
                    },
                    "overallDataTypeMetrics": {
                        "$ref": "#/components/schemas/ApiOverallDataTypeMetrics_Read",
                        "description": "Metrics regarding detected data types across the entire table."
                    },
                    "scientificNotationMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding scientific notation across the entire table."
                    },
                    "sheetMetrics": {
                        "$ref": "#/components/schemas/ApiSheetMetrics_Read",
                        "description": "Metrics regarding excel sheets within the underlying excel file."
                    },
                    "specialCharacterMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics_Read",
                        "description": "Metrics regarding special characters across the entire table."
                    },
                    "unevenColumnsMetrics": {
                        "$ref": "#/components/schemas/ApiHistogramMetrics_Read",
                        "description": "Metrics regarding column length by row."
                    }
                },
                "title": "Table Metadata"
            },
            "ApiTabularFileInfo_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileInfo_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "headerRowIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The row number of the first detected header."
                            },
                            "firstLine": { "type": "string", "description": "The first line of the table." },
                            "delimiter": {
                                "type": "string",
                                "description": "The delimiter character used to separate cells. Only populated when the underlying file is a CSV file."
                            },
                            "lastNonBlankRowIndex": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The row number of the last row that isn't blank."
                            },
                            "tableMetadata": {
                                "$ref": "#/components/schemas/ApiTableMetadata_Read",
                                "description": "A collection of metadata describing the table as a whole."
                            },
                            "columnData": {
                                "type": "array",
                                "description": "A list of column metadata entities, describing each column.",
                                "items": { "$ref": "#/components/schemas/ApiColumnData_Read" }
                            },
                            "rowContentSnippets": {
                                "type": "array",
                                "description": "A list of sample rows from the underlying file.",
                                "items": { "type": "array", "items": { "type": "string" } }
                            }
                        }
                    }
                ],
                "title": "Tabular File Info"
            },
            "ApiTextTypeDetails_Read": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeInteger_Read",
                        "description": "A pair of values representing the min and max length of text values within this column."
                    }
                },
                "title": "Table Metadata Text Type Details"
            },
            "RangeBigDecimal_Read": { "type": "object", "properties": { "min": { "type": "number" }, "max": { "type": "number" } } },
            "RangeInteger_Read": {
                "type": "object",
                "properties": { "min": { "type": "integer", "format": "int32" }, "max": { "type": "integer", "format": "int32" } }
            },
            "RangeZonedDateTime_Read": {
                "type": "object",
                "properties": { "min": { "type": "string", "format": "date-time" }, "max": { "type": "string", "format": "date-time" } }
            },
            "ApiAccountingPeriod_Create": {
                "type": "object",
                "properties": {
                    "fiscalStartMonth": { "type": "integer", "format": "int32", "description": "The month that the fiscal period begins." },
                    "fiscalStartDay": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The date of the month that the fiscal period begins."
                    },
                    "frequency": {
                        "type": "string",
                        "description": "The frequency with which your client's financial data is reported.",
                        "enum": ["ANNUAL", "SEMI_ANNUAL", "QUARTERLY", "MONTHLY", "THIRTEEN_PERIODS"]
                    }
                },
                "required": ["fiscalStartDay", "fiscalStartMonth", "frequency"],
                "title": "Accounting Period"
            },
            "ApiEngagement_Create": {
                "type": "object",
                "properties": {
                    "organizationId": { "type": "string", "description": "Identifies the organization." },
                    "name": { "type": "string", "description": "The name of the engagement.", "maxLength": 80, "minLength": 0 },
                    "billingCode": {
                        "type": "string",
                        "description": "A unique code that associates engagements and analyses with clients to ensure those clients are billed appropriately for MindBridge usage."
                    },
                    "libraryId": { "type": "string", "description": "Identifies the library." },
                    "accountingPeriod": {
                        "$ref": "#/components/schemas/ApiAccountingPeriod_Create",
                        "description": "Details about the accounting period."
                    },
                    "auditPeriodEndDate": { "type": "string", "format": "date", "description": "The last day of the occurring audit." },
                    "accountingPackage": {
                        "type": "string",
                        "description": "The ERP or financial management system that your client is using.",
                        "minLength": 1
                    },
                    "industry": {
                        "type": "string",
                        "description": "The type of industry that your client operates within.",
                        "minLength": 1
                    },
                    "engagementLeadId": { "type": "string", "description": "Identifies the user who will lead the engagement." },
                    "settingsBasedOnEngagementId": {
                        "type": "string",
                        "description": "Identifies the engagement that the settings are based on."
                    },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the associated reporting period configuration. If null the analyses use a standard reporting period."
                    },
                    "auditorIds": {
                        "type": "array",
                        "description": "Identifies the users who will act as auditors in the engagement.",
                        "items": { "type": "string" }
                    },
                    "emailSubscriptions": {
                        "type": "object",
                        "additionalProperties": { "type": "array", "items": { "type": "string" } },
                        "description": "Identifies the users who will receive email notifications related to this engagement."
                    }
                },
                "required": [
                    "accountingPackage",
                    "auditPeriodEndDate",
                    "emailSubscriptions",
                    "engagementLeadId",
                    "industry",
                    "libraryId",
                    "name",
                    "organizationId"
                ],
                "title": "Engagement"
            },
            "ApiPageApiEngagement_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiEngagement_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiEngagementAccountGroup_Create": {
                "type": "object",
                "properties": {
                    "engagementAccountGroupingId": {
                        "type": "string",
                        "description": "The unique identifier for the engagement account grouping that the engagement account group belongs to."
                    },
                    "code": { "type": "string", "description": "The account code for this account group.", "minLength": 1 },
                    "description": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A description of the account code for this account group.",
                        "minProperties": 1
                    },
                    "parentCode": { "type": "string", "description": "The parent code for this account group." },
                    "macCode": { "type": "string", "description": "The MAC code mapped to this account group." },
                    "hidden": {
                        "type": "boolean",
                        "description": "When `true` this account is hidden, and can't be used in account mapping. Additionally this account won't be suggested when automatically mapping accounts during file import."
                    },
                    "alias": {
                        "type": "string",
                        "description": "A replacement value used when displaying the account description.\n\nThis does not have any effect on automatic column mapping."
                    }
                },
                "required": ["code", "description", "engagementAccountGroupingId", "hidden", "parentCode"],
                "title": "Engagement Account Group"
            },
            "ApiPageApiEngagementAccountGroup_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiEngagementAccountGroup_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiAsyncResult": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "description": "Indicates the type of job being run.",
                        "enum": [
                            "ANALYSIS_RUN",
                            "ANALYSIS_SOURCE_INGESTION",
                            "ADMIN_REPORT",
                            "DATA_TABLE_EXPORT",
                            "ANALYSIS_ROLL_FORWARD",
                            "GDPDU_UNPACK_JOB",
                            "ACCOUNT_GROUPING_EXPORT",
                            "ACCOUNT_MAPPING_EXPORT",
                            "DATA_TRANSFORMATION_JOB",
                            "CONNECTION_TEST",
                            "CONNECTION_TABLES",
                            "DATA_TABLE",
                            "DATA_SOURCE_IMPORT",
                            "FILE_MANAGER_TO_DATA_TABLE"
                        ]
                    },
                    "status": {
                        "type": "string",
                        "description": "Indicates the current state of the job.",
                        "enum": ["IN_PROGRESS", "COMPLETE", "ERROR"]
                    },
                    "entityId": { "type": "string", "description": "Identifies the entity used in the job." },
                    "entityType": {
                        "type": "string",
                        "description": "Identifies the entity type used in the job.",
                        "enum": [
                            "ORGANIZATION",
                            "ENGAGEMENT",
                            "ANALYSIS",
                            "ANALYSIS_RESULT",
                            "ANALYSIS_SOURCE",
                            "FILE_RESULT",
                            "GDPDU_UNPACK_JOB",
                            "ACCOUNT_GROUPING",
                            "ENGAGEMENT_ACCOUNT_GROUPING",
                            "FILE_MANAGER_FILE",
                            "CONNECTION_TEST_RESULT",
                            "CONNECTION_TABLES_RESULT",
                            "DATA_TABLE",
                            "DATA_SOURCE_IMPORT_TASK"
                        ]
                    },
                    "error": { "type": "string", "description": "The reason why the async job failed." },
                    "errorMessage": { "type": "string" }
                },
                "title": "Async Result"
            },
            "ApiUserInfo": {
                "type": "object",
                "properties": {
                    "userId": { "type": "string", "description": "Identifies the user." },
                    "userName": { "type": "string", "description": "The name of the user." }
                },
                "title": "User Info"
            },
            "ApiEngagementAccountGrouping_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": {
                        "type": "string",
                        "description": "The unique identifier of the engagement that this engagement account grouping belongs to."
                    },
                    "accountGroupingId": {
                        "type": "string",
                        "description": "The unique identifier of the account grouping on which this is based."
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account grouping."
                    },
                    "codeDisplayName": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account code hierarchy system used within the dataset."
                    },
                    "delimiter": {
                        "type": "string",
                        "description": "The delimiter character used to separate each category level in an account grouping code."
                    }
                },
                "title": "Engagement Account Grouping"
            },
            "ApiPageApiEngagementAccountGrouping_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiEngagementAccountGrouping_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiDatabricksAuthorization_Create": {
                "type": "object",
                "properties": {
                    "connectionId": { "type": "string", "description": "The ID of the Connection this authorization belongs to." },
                    "authType": {
                        "type": "string",
                        "description": "The authentication method to use. Possible values: PAT, OAUTH_M2M.",
                        "enum": ["PAT", "OAUTH_M2M"]
                    },
                    "host": { "type": "string", "description": "The Databricks server hostname.", "minLength": 1 },
                    "port": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The port number for the Databricks connection. Typically 443."
                    },
                    "httpPath": {
                        "type": "string",
                        "description": "The HTTP path for the Databricks SQL warehouse or cluster.",
                        "minLength": 1
                    },
                    "accessToken": {
                        "type": "string",
                        "description": "The personal access token for PAT authentication.",
                        "writeOnly": true
                    },
                    "clientId": { "type": "string", "description": "The OAuth client ID for OAUTH_M2M authentication." },
                    "clientSecret": {
                        "type": "string",
                        "description": "The OAuth client secret for OAUTH_M2M authentication.",
                        "writeOnly": true
                    }
                },
                "required": ["authType", "connectionId", "host", "httpPath"],
                "title": "Databricks Authorization"
            },
            "ApiPageApiDatabricksAuthorization_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDatabricksAuthorization_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ActionableErrorResponse": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "description": "Indicates the type of error that occurred. Type values are formatted as URLs."
                    },
                    "title": { "type": "string", "description": "A description of the error." },
                    "problems": {
                        "type": "array",
                        "description": "The reason(s) why the error occurred.",
                        "items": { "$ref": "#/components/schemas/Problem" }
                    },
                    "instance": { "type": "string", "description": "A unique identifier for this request." },
                    "status": { "type": "integer", "format": "int32", "description": "The HTTP status code determined by the error type." },
                    "origin": { "type": "string", "description": "The endpoint where this request originated from." },
                    "problemCount": { "type": "integer", "format": "int32", "description": "The total number of problems." },
                    "entityType": { "type": "string", "description": "The type of entity impacted by the error." },
                    "entityId": { "type": "string", "description": "Identifies the entity impacted by the error." }
                }
            },
            "Problem": {
                "type": "object",
                "properties": {
                    "problemType": {
                        "type": "string",
                        "description": "The type of problem.",
                        "enum": [
                            "UNKNOWN",
                            "ILLEGAL_ARGUMENT",
                            "CANNOT_DELETE",
                            "GREATER_VALUE_REQUIRED",
                            "LESS_VALUE_REQUIRED",
                            "NON_UNIQUE_VALUE",
                            "USER_EMAIL_ALREADY_EXISTS",
                            "INCORRECT_DATA_TYPE",
                            "RATIO_CONVERSION_FAILED",
                            "RISK_SCORE_FILTER_CONVERSION_FAILED",
                            "FILTER_CONVERSION_FAILED",
                            "POPULATION_CONVERSION_FAILED",
                            "INSUFFICIENT_PERMISSION",
                            "ACCOUNT_GROUPING_NODES_CONTAIN_ERRORS",
                            "ACCOUNT_GROUPING_IN_USE_BY_LIBRARY",
                            "INVALID_ACCOUNT_GROUPING_FILE",
                            "DELIVERY_FAILURE",
                            "INVALID_STATE"
                        ]
                    },
                    "severity": { "type": "string", "description": "Indicates how severe the problem is.", "enum": ["WARNING", "ERROR"] },
                    "entityType": { "type": "string", "description": "The type of entity impacted by the problem." },
                    "entityId": { "type": "string", "description": "Identifies the entity impacted by the problem." },
                    "identifier": { "type": "string", "description": "Identifies the field causing the problem." },
                    "values": {
                        "type": "array",
                        "description": "Identifies the values causing the problem.",
                        "items": { "type": "string" }
                    },
                    "reason": { "type": "string", "description": "The reason(s) why the problem occurred." },
                    "suggestedValues": {
                        "type": "array",
                        "description": "A suggested set of values to assist in resolving the problem.",
                        "items": { "type": "string" }
                    },
                    "problemCount": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The total number of occurrences of this problem."
                    }
                }
            },
            "ApiCsvConfiguration": {
                "type": "object",
                "properties": {
                    "delimiter": { "type": "string", "description": "The character used to separate entries.", "minLength": 1 },
                    "quote": { "type": "string", "description": "The character used to encapsulate an entry.", "minLength": 1 },
                    "quoteEscape": { "type": "string", "description": "The character used to escape the quote character.", "minLength": 1 },
                    "quoteEscapeEscape": { "type": "string", "description": "The character used to escape the quote escape character." }
                },
                "required": ["delimiter", "quote", "quoteEscape"],
                "title": "CSV Configuration"
            },
            "ApiDataTableExportRequest": {
                "type": "object",
                "properties": {
                    "query": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "The MindBridge QL query used to filter data in the data table."
                    },
                    "sort": {
                        "$ref": "#/components/schemas/ApiDataTableQuerySortOrder",
                        "description": "Indicates how the data will be sorted.\n\nDefault sort order = ascending"
                    },
                    "fields": {
                        "type": "array",
                        "description": "The data table fields to be included in the results.",
                        "items": { "type": "string", "minLength": 1 },
                        "minItems": 1
                    },
                    "limit": { "type": "integer", "format": "int32", "description": "The number of results to be returned.", "minimum": 1 },
                    "csvConfiguration": {
                        "$ref": "#/components/schemas/ApiCsvConfiguration",
                        "description": "The configuration to use when generating the CSV file."
                    },
                    "innerListCsvConfiguration": {
                        "$ref": "#/components/schemas/ApiCsvConfiguration",
                        "description": "The configuration to use when formatting lists within cells in the CSV file."
                    }
                },
                "required": ["fields"],
                "title": "Data Table Export Request"
            },
            "ApiDataTableQuerySortOrder": {
                "type": "object",
                "properties": {
                    "field": { "type": "string", "description": "The data table column.", "minLength": 1 },
                    "direction": { "type": "string", "description": "How the column will be sorted.", "enum": ["ASC", "DESC"] }
                },
                "required": ["direction", "field"],
                "title": "Data Table Query Sort Order"
            },
            "ApiDataTablePage": {
                "type": "object",
                "properties": { "content": { "type": "array", "items": { "type": "object", "additionalProperties": {} } } }
            },
            "ApiDataTableQuerySortOrder_Read": {
                "type": "object",
                "properties": {
                    "field": { "type": "string", "description": "The data table column.", "minLength": 1 },
                    "direction": { "type": "string", "description": "How the column will be sorted.", "enum": ["ASC", "DESC"] }
                },
                "required": ["direction", "field"],
                "title": "Data Table Query Sort Order"
            },
            "ApiDataTableQuery_Read": {
                "type": "object",
                "properties": {
                    "query": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "The MindBridge QL query used to filter data in the data table."
                    },
                    "page": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The specific page of results. This operates on a zero-based page index (0..N).",
                        "minimum": 0
                    },
                    "pageSize": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The number of results to be returned on each page.",
                        "maximum": 2000,
                        "minimum": 1
                    },
                    "sort": {
                        "$ref": "#/components/schemas/ApiDataTableQuerySortOrder_Read",
                        "description": "Indicates how the data will be sorted.\n\nDefault sort order = ascending"
                    },
                    "fields": {
                        "type": "array",
                        "description": "The data table fields to be included in the results.",
                        "items": { "type": "string", "minLength": 1 },
                        "minItems": 1
                    },
                    "excludeFields": { "type": "array", "items": { "type": "string", "minLength": 1 } }
                },
                "required": ["fields"],
                "title": "Data Table Query"
            },
            "ApiDataTableColumn_Read": {
                "type": "object",
                "properties": {
                    "originalName": {
                        "type": "string",
                        "description": "The original field name, derived from the source file, risk score name, or similar source."
                    },
                    "field": { "type": "string", "description": "The column name." },
                    "mindBridgeField": { "type": "string", "description": "The MindBridge field name that this column is mapped to." },
                    "type": {
                        "type": "string",
                        "description": "The type of data found in the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Indicates whether or not NULL values are allowed." },
                    "equalitySearch": {
                        "type": "boolean",
                        "description": "Indicates whether or not a search can be performed based on two equal operands."
                    },
                    "rangeSearch": {
                        "type": "boolean",
                        "description": "Indicates whether or not a search can be performed on a value-based comparison."
                    },
                    "sortable": {
                        "type": "boolean",
                        "description": "Indicates whether or not the data table can be sorted by this column."
                    },
                    "containsSearch": {
                        "type": "boolean",
                        "description": "Indicates whether or not a value-based search can be performed."
                    },
                    "keywordSearch": { "type": "boolean", "description": "Indicates whether or not a keyword search can be performed." },
                    "caseInsensitiveSubstringSearch": {
                        "type": "boolean",
                        "description": "Indicates whether or not a case insensitive search can be performed on a substring."
                    },
                    "caseInsensitivePrefixSearch": {
                        "type": "boolean",
                        "description": "Indicates whether or not a case insensitive search can be performed on a prefix."
                    },
                    "filterOnly": { "type": "boolean", "description": "Indicates whether a field can only be used as part of a filter." },
                    "typeaheadDataTableId": {
                        "type": "string",
                        "description": "The ID of the typeahead table that this column references."
                    }
                },
                "title": "Data Table Column"
            },
            "ApiDataTable_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "analysisResultId": { "type": "string", "description": "Identifies the associated analysis results." },
                    "logicalName": { "type": "string", "description": "The name of the data table." },
                    "type": { "type": "string", "description": "The type of data table." },
                    "apiStability": {
                        "type": "string",
                        "description": "Indicates whether the data table is stable or may change or be removed in future API versions.",
                        "enum": ["STABLE", "UNSTABLE"]
                    },
                    "columns": {
                        "type": "array",
                        "description": "Details about the data table columns.",
                        "items": { "$ref": "#/components/schemas/ApiDataTableColumn_Read" }
                    }
                },
                "title": "Data Table"
            },
            "ApiPageApiDataTable_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataTable_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiDataSourceDataRequest_Read": {
                "type": "object",
                "properties": {
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the engagement that the resulting Data Table will be associated with."
                    },
                    "columns": {
                        "type": "array",
                        "description": "The list of columns to retrieve from the data source.",
                        "items": { "type": "string" }
                    },
                    "filter": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "Optional filter to apply to the data retrieval. If not set, all rows are returned unfiltered."
                    },
                    "limit": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Maximum number of rows to return. If not set, all matching rows are returned."
                    },
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Number of rows to skip before returning results. If not set, results start from the first row."
                    },
                    "sortProperties": {
                        "type": "array",
                        "description": "Optional sort specification ordered by precedence. Remotes that support server-side sorting will apply it; remotes that don't will ignore it.",
                        "items": { "$ref": "#/components/schemas/ApiSortProperty_Read" }
                    }
                },
                "title": "Data Source Data Request"
            },
            "ApiDataSourceImportTask_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string" },
                    "state": {
                        "type": "string",
                        "description": "The current state of the data source import task.",
                        "enum": [
                            "INITIALIZING",
                            "VALIDATING",
                            "UPDATING_SOURCES",
                            "IMPORTING_DATA",
                            "TRANSFORMING_DATA",
                            "MERGING",
                            "COMPLETE",
                            "FAILED"
                        ]
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of data source the data source import task is importing data from.",
                        "enum": ["DATA_CATALOG_ENTRY", "CONNECTION_TABLE", "DATA_TABLE"]
                    },
                    "dataSourceId": {
                        "type": "string",
                        "description": "The ID of the data source this data source import task is importing data from."
                    },
                    "dataRequest": {
                        "$ref": "#/components/schemas/ApiDataSourceDataRequest_Read",
                        "description": "The request parameters of the data source import task."
                    },
                    "outputDataTableId": {
                        "type": "string",
                        "description": "The table where the data from the data source import task will be written."
                    },
                    "errors": { "type": "array", "items": { "$ref": "#/components/schemas/Problem_Read" } }
                },
                "required": ["dataRequest", "dataSourceId", "engagementId", "outputDataTableId", "state", "type"],
                "title": "Data Source Import Task"
            },
            "ApiPageApiDataSourceImportTask_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataSourceImportTask_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiSortProperty_Read": {
                "type": "object",
                "properties": {
                    "column": { "type": "string", "description": "Name of the column to sort by." },
                    "direction": {
                        "type": "string",
                        "description": "Sort direction. One of ASC (ascending) or DESC (descending).",
                        "enum": ["ASC", "DESC"]
                    }
                },
                "title": "Sort Property"
            },
            "ApiDataCatalogConnectionEntry_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columns": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Create" } },
                            "connectionId": { "type": "string", "description": "The connection ID from which data is imported." },
                            "tableId": {
                                "type": "string",
                                "description": "The table ID within the related connection from which data is imported."
                            }
                        }
                    }
                ],
                "title": "Data Catalog Connection Entry"
            },
            "ApiDataCatalogDataTableEntry_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiDataCatalogEntry_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columns": { "type": "array", "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Create" } },
                            "dataTableId": { "type": "string", "description": "The MindBridge data table from which data is imported." }
                        }
                    }
                ],
                "title": "Data Catalog Data Table Entry"
            },
            "ApiDataCatalogEntryColumn_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The column name." },
                    "displayName": { "type": "string", "description": "A display name for this column." },
                    "description": { "type": "string", "description": "A description of this column." },
                    "columnType": {
                        "type": "string",
                        "description": "The data type of the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Whether the column allows null values." }
                },
                "title": "Data Catalog Entry Column"
            },
            "ApiDataCatalogEntry_Create": {
                "type": "object",
                "discriminator": { "propertyName": "source" },
                "properties": {
                    "source": {
                        "type": "string",
                        "description": "The type of entity this data catalog entry is associated with.",
                        "enum": ["CONNECTION", "DATA_TABLE"]
                    },
                    "name": { "type": "string", "description": "The display name of this data catalog entry." },
                    "description": { "type": "string", "description": "A description of this data catalog entry." },
                    "columns": {
                        "type": "array",
                        "description": "The columns provided by this data catalog entry.",
                        "items": { "$ref": "#/components/schemas/ApiDataCatalogEntryColumn_Create" },
                        "minItems": 1
                    },
                    "uniqueIdentifier": {
                        "type": "array",
                        "description": "List of column names that together form a unique record identifier",
                        "items": { "type": "string" }
                    },
                    "published": {
                        "type": "boolean",
                        "description": "Indicates whether this data catalog entry is published and available for use."
                    }
                },
                "required": ["columns", "published", "source"],
                "title": "Data Catalog Entry"
            },
            "ApiDataSourceDataRequest_Create": {
                "type": "object",
                "properties": {
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the engagement that the resulting Data Table will be associated with."
                    },
                    "columns": {
                        "type": "array",
                        "description": "The list of columns to retrieve from the data source.",
                        "items": { "type": "string" },
                        "minItems": 1
                    },
                    "filter": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "Optional filter to apply to the data retrieval. If not set, all rows are returned unfiltered."
                    },
                    "limit": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Maximum number of rows to return. If not set, all matching rows are returned.",
                        "minimum": 0
                    },
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Number of rows to skip before returning results. If not set, results start from the first row.",
                        "minimum": 0
                    },
                    "sortProperties": {
                        "type": "array",
                        "description": "Optional sort specification ordered by precedence. Remotes that support server-side sorting will apply it; remotes that don't will ignore it.",
                        "items": { "$ref": "#/components/schemas/ApiSortProperty_Create" }
                    }
                },
                "required": ["columns", "engagementId"],
                "title": "Data Source Data Request"
            },
            "ApiSortProperty_Create": {
                "type": "object",
                "properties": {
                    "column": { "type": "string", "description": "Name of the column to sort by.", "minLength": 1 },
                    "direction": {
                        "type": "string",
                        "description": "Sort direction. One of ASC (ascending) or DESC (descending).",
                        "enum": ["ASC", "DESC"]
                    }
                },
                "required": ["column", "direction"],
                "title": "Sort Property"
            },
            "ApiValidationResult": {
                "type": "object",
                "properties": {
                    "problems": { "type": "array", "items": { "$ref": "#/components/schemas/Problem" } },
                    "valid": { "type": "boolean" }
                },
                "title": "Validation Result"
            },
            "ApiPageApiDataCatalogEntry_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": {
                        "type": "array",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiDataCatalogConnectionEntry_Read" },
                                { "$ref": "#/components/schemas/ApiDataCatalogDataTableEntry_Read" }
                            ]
                        }
                    },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiConnection_Create": {
                "type": "object",
                "properties": {
                    "type": { "type": "string", "description": "The type of external connection.", "enum": ["DATABRICKS"] },
                    "name": { "type": "string", "description": "The name of the external connection.", "minLength": 1 }
                },
                "required": ["name", "type"],
                "title": "Connection"
            },
            "ApiConnection_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": { "type": "string", "description": "The type of external connection.", "enum": ["DATABRICKS"] },
                    "name": { "type": "string", "description": "The name of the external connection." }
                },
                "title": "Connection"
            },
            "ApiConnectionDataRequest_Create": {
                "type": "object",
                "properties": {
                    "tableId": { "type": "string", "description": "The identifier of the table to retrieve data from.", "minLength": 1 },
                    "engagementId": {
                        "type": "string",
                        "description": "Identifies the engagement that the resulting Data Table will be associated with."
                    },
                    "tabularSchemaHint": {
                        "$ref": "#/components/schemas/ApiTabularSchema_Create",
                        "description": "Optional schema hint describing expected column types."
                    },
                    "filter": {
                        "$ref": "#/components/schemas/MindBridgeQueryTerm",
                        "description": "Optional filter to apply to the data retrieval."
                    },
                    "limit": { "type": "integer", "format": "int64", "description": "Maximum number of rows to return.", "minimum": 0 },
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Number of rows to skip before returning results.",
                        "minimum": 0
                    },
                    "sortProperties": {
                        "type": "array",
                        "description": "Optional sort specification ordered by precedence. Remotes that support server-side sorting will apply it; remotes that don't will ignore it.",
                        "items": { "$ref": "#/components/schemas/ApiSortProperty_Create" }
                    }
                },
                "required": ["engagementId", "tableId"],
                "title": "Connection Data Request"
            },
            "ApiTabularSchemaColumn_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the column.", "minLength": 1 },
                    "displayName": { "type": "string" },
                    "description": { "type": "string" },
                    "columnType": {
                        "type": "string",
                        "description": "The data type of the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Whether the column allows null values." }
                },
                "required": ["columnType", "name", "nullable"],
                "title": "Tabular Schema Column"
            },
            "ApiTabularSchema_Create": {
                "type": "object",
                "properties": {
                    "displayName": { "type": "string" },
                    "description": { "type": "string" },
                    "columns": {
                        "type": "array",
                        "description": "The list of column definitions for the table.",
                        "items": { "$ref": "#/components/schemas/ApiTabularSchemaColumn_Create" },
                        "minItems": 1
                    }
                },
                "required": ["columns"],
                "title": "Tabular Schema"
            },
            "ApiPageApiConnection_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiConnection_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiConnectionTestResult_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "connectionId": { "type": "string", "description": "The ID of the Connection that was tested." },
                    "message": { "type": "string", "description": "A message describing the outcome of the connection test." }
                },
                "title": "Connection Test Result"
            },
            "ApiPageApiConnectionTestResult_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiConnectionTestResult_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiConnectionTable_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "tablesResultId": {
                        "type": "string",
                        "description": "The ID of the Connection Tables Result that discovered this table."
                    },
                    "connectionId": { "type": "string", "description": "The ID of the Connection this table belongs to." },
                    "tableId": { "type": "string", "description": "The identifier of the table within the external data source." },
                    "name": { "type": "string", "description": "The display name of the table." },
                    "schema": {
                        "$ref": "#/components/schemas/ApiTabularSchema_Read",
                        "description": "The schema describing the columns of the table."
                    }
                },
                "title": "Connection Table"
            },
            "ApiPageApiConnectionTable_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiConnectionTable_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiTabularSchemaColumn_Read": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the column." },
                    "displayName": { "type": "string" },
                    "description": { "type": "string" },
                    "columnType": {
                        "type": "string",
                        "description": "The data type of the column.",
                        "enum": [
                            "STRING",
                            "DATE",
                            "DATE_TIME",
                            "BOOLEAN",
                            "INT16",
                            "INT32",
                            "INT64",
                            "FLOAT32",
                            "FLOAT64",
                            "MONEY_100",
                            "PERCENTAGE_FIXED_POINT",
                            "ARRAY_STRINGS",
                            "ARRAY_INT64",
                            "KEYWORD_SEARCH",
                            "OBJECTID",
                            "BOOLEAN_FLAGS",
                            "MAP_SCALARS",
                            "LEGACY_ACCOUNT_TAG_EFFECTS",
                            "JSONB",
                            "DECIMAL"
                        ]
                    },
                    "nullable": { "type": "boolean", "description": "Whether the column allows null values." }
                },
                "title": "Tabular Schema Column"
            },
            "ApiTabularSchema_Read": {
                "type": "object",
                "properties": {
                    "displayName": { "type": "string" },
                    "description": { "type": "string" },
                    "columns": {
                        "type": "array",
                        "description": "The list of column definitions for the table.",
                        "items": { "$ref": "#/components/schemas/ApiTabularSchemaColumn_Read" }
                    }
                },
                "title": "Tabular Schema"
            },
            "ApiConnectionTablesResult_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "connectionId": { "type": "string", "description": "The ID of the Connection that this tables result belongs to." },
                    "tableCount": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The total number of tables discovered from the connection."
                    }
                },
                "title": "Connection Tables Result"
            },
            "ApiPageApiConnectionTablesResult_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiConnectionTablesResult_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiChunkedFile_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the chunked file.", "minLength": 1 },
                    "size": { "type": "integer", "format": "int64", "description": "The size of the chunked file.", "minimum": 0 }
                },
                "required": ["name", "size"],
                "title": "Chunked File"
            },
            "ApiChunkedFilePart_Read": {
                "type": "object",
                "properties": {
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the start position of the file part in the chunked file."
                    },
                    "size": { "type": "integer", "format": "int64", "description": "The size of the file part." }
                },
                "title": "Chunked File Part"
            },
            "ApiChunkedFile_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": { "type": "string", "description": "The name of the chunked file." },
                    "size": { "type": "integer", "format": "int64", "description": "The size of the chunked file." },
                    "chunkedFileParts": {
                        "type": "array",
                        "description": "The offset and size of the chunked file parts.",
                        "items": { "$ref": "#/components/schemas/ApiChunkedFilePart_Read" }
                    }
                },
                "title": "Chunked File"
            },
            "ApiChunkedFilePart": {
                "type": "object",
                "properties": {
                    "offset": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the start position of the file part in the chunked file.",
                        "minimum": 0
                    },
                    "size": { "type": "integer", "format": "int64", "description": "The size of the file part.", "minimum": 0 }
                },
                "title": "Chunked File Part"
            },
            "ApiPageApiChunkedFile_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiChunkedFile_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiPageApiAsyncResult_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAsyncResult_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiApiToken_Create": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The token record's name. This will also be used as the API Token User's name.",
                        "minLength": 1
                    },
                    "expiry": { "type": "string", "format": "date-time", "description": "The day on which the API token expires." },
                    "allowedAddresses": {
                        "type": "array",
                        "description": "Indicates the set of addresses that are allowed to use this token. If empty, any address may use it.",
                        "items": { "type": "string" }
                    },
                    "permissions": {
                        "type": "array",
                        "description": "The set of permissions that inform which endpoints this token is authorized to access.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "api.organizations.read",
                                "api.organizations.write",
                                "api.organizations.delete",
                                "api.engagements.read",
                                "api.engagements.write",
                                "api.engagements.delete",
                                "api.analyses.read",
                                "api.analyses.write",
                                "api.analyses.delete",
                                "api.analyses.run",
                                "api.analysis-sources.read",
                                "api.analysis-sources.write",
                                "api.analysis-sources.delete",
                                "api.file-manager.read",
                                "api.file-manager.write",
                                "api.file-manager.delete",
                                "api.reporting-period-config.read",
                                "api.reporting-period-config.write",
                                "api.reporting-period-config.delete",
                                "api.libraries.read",
                                "api.libraries.write",
                                "api.libraries.delete",
                                "api.account-groupings.read",
                                "api.account-groupings.write",
                                "api.account-groupings.delete",
                                "api.engagement-account-groupings.read",
                                "api.engagement-account-groupings.write",
                                "api.engagement-account-groupings.delete",
                                "api.users.read",
                                "api.users.write",
                                "api.users.delete",
                                "api.data-tables.read",
                                "api.data-tables.write",
                                "api.data-tables.delete",
                                "api.api-tokens.read",
                                "api.api-tokens.write",
                                "api.api-tokens.delete",
                                "api.tasks.read",
                                "api.tasks.write",
                                "api.tasks.delete",
                                "api.admin-reports.run",
                                "api.analysis-types.read",
                                "api.analysis-source-types.read",
                                "api.analysis-type-configuration.read",
                                "api.analysis-type-configuration.write",
                                "api.analysis-type-configuration.delete",
                                "api.risk-ranges.read",
                                "api.risk-ranges.write",
                                "api.risk-ranges.delete",
                                "api.filters.read",
                                "api.filters.write",
                                "api.filters.delete",
                                "api.file-infos.read",
                                "api.webhooks.read",
                                "api.webhooks.write",
                                "api.webhooks.delete",
                                "api.connections.read",
                                "api.connections.write",
                                "api.connections.delete",
                                "api.data-catalog-entries.read",
                                "api.data-catalog-entries.write",
                                "api.data-catalog-entries.delete",
                                "scim.user.read",
                                "scim.user.write",
                                "scim.user.delete",
                                "scim.user.schema"
                            ]
                        },
                        "minItems": 1
                    }
                },
                "required": ["expiry", "name", "permissions"],
                "title": "API Token"
            },
            "CreateApiTokenResponse_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "userId": { "type": "string", "description": "Identifies the API Token User associated with this token." },
                    "name": {
                        "type": "string",
                        "description": "The token record's name. This will also be used as the API Token User's name."
                    },
                    "partialToken": { "type": "string", "description": "A partial representation of the API token." },
                    "expiry": { "type": "string", "format": "date-time", "description": "The day on which the API token expires." },
                    "allowedAddresses": {
                        "type": "array",
                        "description": "Indicates the set of addresses that are allowed to use this token. If empty, any address may use it.",
                        "items": { "type": "string" }
                    },
                    "permissions": {
                        "type": "array",
                        "description": "The set of permissions that inform which endpoints this token is authorized to access.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "api.organizations.read",
                                "api.organizations.write",
                                "api.organizations.delete",
                                "api.engagements.read",
                                "api.engagements.write",
                                "api.engagements.delete",
                                "api.analyses.read",
                                "api.analyses.write",
                                "api.analyses.delete",
                                "api.analyses.run",
                                "api.analysis-sources.read",
                                "api.analysis-sources.write",
                                "api.analysis-sources.delete",
                                "api.file-manager.read",
                                "api.file-manager.write",
                                "api.file-manager.delete",
                                "api.reporting-period-config.read",
                                "api.reporting-period-config.write",
                                "api.reporting-period-config.delete",
                                "api.libraries.read",
                                "api.libraries.write",
                                "api.libraries.delete",
                                "api.account-groupings.read",
                                "api.account-groupings.write",
                                "api.account-groupings.delete",
                                "api.engagement-account-groupings.read",
                                "api.engagement-account-groupings.write",
                                "api.engagement-account-groupings.delete",
                                "api.users.read",
                                "api.users.write",
                                "api.users.delete",
                                "api.data-tables.read",
                                "api.data-tables.write",
                                "api.data-tables.delete",
                                "api.api-tokens.read",
                                "api.api-tokens.write",
                                "api.api-tokens.delete",
                                "api.tasks.read",
                                "api.tasks.write",
                                "api.tasks.delete",
                                "api.admin-reports.run",
                                "api.analysis-types.read",
                                "api.analysis-source-types.read",
                                "api.analysis-type-configuration.read",
                                "api.analysis-type-configuration.write",
                                "api.analysis-type-configuration.delete",
                                "api.risk-ranges.read",
                                "api.risk-ranges.write",
                                "api.risk-ranges.delete",
                                "api.filters.read",
                                "api.filters.write",
                                "api.filters.delete",
                                "api.file-infos.read",
                                "api.webhooks.read",
                                "api.webhooks.write",
                                "api.webhooks.delete",
                                "api.connections.read",
                                "api.connections.write",
                                "api.connections.delete",
                                "api.data-catalog-entries.read",
                                "api.data-catalog-entries.write",
                                "api.data-catalog-entries.delete",
                                "scim.user.read",
                                "scim.user.write",
                                "scim.user.delete",
                                "scim.user.schema"
                            ]
                        }
                    },
                    "token": {
                        "type": "string",
                        "description": "The API token.\n\n**Note:** The security of the API token is paramount. If compromised, contact your **App Admin** immediately."
                    }
                },
                "title": "API token creation response"
            },
            "ApiPageApiApiToken_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiApiToken_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiAnalysisType_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": { "type": "string", "description": "The name of the analysis type." },
                    "interimName": {
                        "type": "string",
                        "description": "The name of the analysis type when the analysis uses an interim time frame."
                    },
                    "description": { "type": "string", "description": "The description of the analysis type." },
                    "accountMappingRequired": {
                        "type": "boolean",
                        "description": "Indicates whether or not account mapping must be performed."
                    },
                    "fundSupported": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis supports restricted and unrestricted funds."
                    },
                    "interimSupported": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis supports the interim time frame."
                    },
                    "periodicSupported": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis supports the periodic time frame."
                    },
                    "archived": { "type": "boolean", "description": "Indicates whether or not the analysis type has been archived." },
                    "maxPeriod": {
                        "type": "integer",
                        "format": "int32",
                        "description": "A configuration value for the max analysis period."
                    },
                    "sourceConfigurations": {
                        "type": "array",
                        "description": "A list of analysis source configurations that can be imported into the analysis, as determined by the analysis type.",
                        "items": { "$ref": "#/components/schemas/ApiSourceConfiguration_Read" }
                    }
                },
                "title": "Analysis Type"
            },
            "ApiPageApiAnalysisType_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysisType_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiSourceConfiguration_Read": {
                "type": "object",
                "properties": {
                    "sourceTypeId": { "type": "string", "description": "The source type ID selected as part of this configuration." },
                    "sourceScope": {
                        "type": "string",
                        "description": "Indicates whether the source configuration applies to the current period, all of the prior periods, or the entire analysis.\n\n**Note**: Sources with an `ANALYSIS` scope should not provide an `analysisPeriodId`.",
                        "enum": ["CURRENT_PERIOD", "PRIOR_PERIOD", "ANALYSIS"]
                    },
                    "required": {
                        "type": "boolean",
                        "description": "When `true`, the analysis cannot be run until at least one analysis source with this source type in this source scope is present."
                    },
                    "postAnalysis": {
                        "type": "boolean",
                        "description": "When `true`, this source configuration will be enabled after an analysis is run (not before)."
                    },
                    "interimOnly": {
                        "type": "boolean",
                        "description": "When `true`, this source configuration only applies when the interim time frame is used (i.e., it has not been converted for use with a full time frame)."
                    },
                    "disableForInterim": {
                        "type": "boolean",
                        "description": "When `true` and the interim time frame is used (i.e., it has not been converted for use with a full time frame), new analysis sources of this source type and source scope cannot be added."
                    },
                    "allowMultiple": {
                        "type": "boolean",
                        "description": "When `true`, multiple versions of this analysis source type may be imported using this source scope."
                    },
                    "allowMultipleForPeriodic": {
                        "type": "boolean",
                        "description": "When `true` and the periodic time frame is used, multiple versions of this analysis source type may be imported using this source scope."
                    },
                    "alternativeRequiredSourceTypes": {
                        "type": "array",
                        "description": "A list of alternative analysis source types. If one of the alternatives is present for this source scope, then the `required` constraint is considered satisfied.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "tracksAdditionalDataEntries": {
                        "type": "boolean",
                        "description": "When `true`, the `additionalDataColumnField` field is required upon importing an analysis source type."
                    }
                },
                "title": "Source Configuration"
            },
            "ApiPageApiAnalysisTypeConfiguration_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysisTypeConfiguration_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiAnalysisSource_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "analysisPeriodId": { "type": "string", "description": "Identifies the analysis period within MindBridge." },
                    "analysisSourceTypeId": { "type": "string", "description": "Identifies the analysis source type." },
                    "fileManagerFileId": {
                        "type": "string",
                        "deprecated": true,
                        "description": "Identifies the specific file manager file within MindBridge."
                    },
                    "additionalDataColumnField": {
                        "type": "string",
                        "description": "When creating an additional data source type, this indicates which additional data column is being targeted."
                    },
                    "warningsIgnored": { "type": "boolean", "description": "Indicates whether or not warnings should be ignored." },
                    "targetWorkflowState": {
                        "type": "string",
                        "description": "The state that the current workflow will advance to.",
                        "enum": [
                            "COMPLETED",
                            "CANCELLED",
                            "FAILED",
                            "STARTED",
                            "DETECTING_FORMAT",
                            "ANALYZING_COLUMNS",
                            "CHECKING_INTEGRITY",
                            "SCANNING_TRANSACTION_COMBINATIONS",
                            "PARSING",
                            "PARSING_ICEBERG",
                            "ANALYZING_EFFECTIVE_DATE_METRICS",
                            "FORMAT_DETECTION_COMPLETED",
                            "COLUMN_MAPPINGS_CONFIRMED",
                            "SETTINGS_CONFIRMED",
                            "PREPARING_ICEBERG",
                            "ANALYSIS_PERIOD_SELECTED",
                            "FUNDS_REVIEWED",
                            "RUNNING",
                            "UNPACK_COMPLETE",
                            "UPLOADED",
                            "FORMAT_DETECTED",
                            "COLUMNS_ANALYZED",
                            "INTEGRITY_CHECKED",
                            "PARSED",
                            "AUTHENTICATED",
                            "CONFIGURED",
                            "EFFECTIVE_DATE_METRICS_ANALYZED",
                            "DATA_VALIDATION_CONFIRMED"
                        ]
                    },
                    "applyDegrouper": { "type": "boolean", "description": "Indicates whether or not the degrouper should be applied." },
                    "proposedColumnMappings": {
                        "type": "array",
                        "description": "Details about the proposed column mapping.",
                        "items": { "$ref": "#/components/schemas/ApiProposedColumnMapping_Create" }
                    },
                    "proposedVirtualColumns": {
                        "type": "array",
                        "description": "Details about the proposed virtual columns added during the file import process.",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiProposedDuplicateVirtualColumn_Create" },
                                { "$ref": "#/components/schemas/ApiProposedJoinVirtualColumn_Create" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByDelimiterVirtualColumn_Create" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByPositionVirtualColumn_Create" }
                            ]
                        }
                    },
                    "proposedAmbiguousColumnResolutions": {
                        "type": "array",
                        "description": "Details about the virtual columns added during file ingestion.",
                        "items": { "$ref": "#/components/schemas/ApiProposedAmbiguousColumnResolution_Create" }
                    },
                    "proposedTransactionIdSelection": {
                        "$ref": "#/components/schemas/ApiTransactionIdSelection_Create",
                        "description": "The proposed columns to include when selecting a transaction ID."
                    },
                    "presetHeaderRowIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "A pre-set zero-based row index used to manually identify the header row. Entries before this row will be ignored.\nIf not set automatic header detection will be applied.",
                        "minimum": 0
                    }
                },
                "required": ["analysisId", "analysisSourceTypeId", "engagementId", "fileManagerFileId"],
                "title": "Analysis Source"
            },
            "ApiProposedAmbiguousColumnResolution_Create": {
                "type": "object",
                "properties": {
                    "position": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the column with the proposed resolution.",
                        "minimum": 0
                    },
                    "selectedFormat": { "type": "string", "description": "The selected format of the proposed resolution.", "minLength": 1 }
                },
                "required": ["position", "selectedFormat"],
                "title": "Proposed Ambiguous Column Resolution"
            },
            "ApiProposedColumnMapping_Create": {
                "type": "object",
                "properties": {
                    "columnPosition": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed column mapping in the original input file."
                    },
                    "virtualColumnIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed virtual columns within the `proposedVirtualColumns` list."
                    },
                    "mindbridgeField": {
                        "type": "string",
                        "description": "The MindBridge field that the data column should be mapped to."
                    },
                    "additionalColumnName": {
                        "type": "string",
                        "description": "Proposed additional columns of data to be added to the analysis."
                    }
                },
                "title": "Proposed Column Mapping"
            },
            "ApiProposedDuplicateVirtualColumn_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be duplicated."
                            }
                        }
                    }
                ],
                "required": ["columnIndex"],
                "title": "Proposed Duplicate Virtual Column"
            },
            "ApiProposedJoinVirtualColumn_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndices": {
                                "type": "array",
                                "description": "The positions of the columns to be joined.",
                                "items": { "type": "integer", "format": "int32" },
                                "minItems": 1
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be inserted to separate values.",
                                "minLength": 1
                            }
                        }
                    }
                ],
                "required": ["columnIndices", "delimiter"],
                "title": "Proposed Join Virtual Column"
            },
            "ApiProposedSplitByDelimiterVirtualColumn_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be used to separate the string into parts.",
                                "minLength": 1
                            },
                            "splitIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the part to be used as a virtual column."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "delimiter", "splitIndex"],
                "title": "Proposed Split By Delimiter Virtual Column"
            },
            "ApiProposedSplitByPositionVirtualColumn_Create": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Create" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "startPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The starting position of the substring to be used as the new column. **Inclusive**."
                            },
                            "endPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The ending position of the substring to be used as the new column. **Exclusive**."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "endPosition", "startPosition"],
                "title": "Proposed Split By Position Virtual Column"
            },
            "ApiProposedVirtualColumn_Create": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "name": { "type": "string", "description": "The name of the proposed virtual column." },
                    "type": {
                        "type": "string",
                        "description": "The type of proposed virtual column.",
                        "enum": ["DUPLICATE", "SPLIT_BY_POSITION", "SPLIT_BY_DELIMITER", "JOIN"]
                    }
                },
                "title": "Proposed Virtual Column"
            },
            "ApiTransactionIdSelection_Create": {
                "type": "object",
                "properties": {
                    "columnSelection": {
                        "type": "array",
                        "description": "The columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "virtualColumnSelection": {
                        "type": "array",
                        "description": "The virtual columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type used when selecting a transaction ID.",
                        "enum": ["COMBINATION", "RUNNING_TOTAL"]
                    },
                    "applySmartSplitter": {
                        "type": "boolean",
                        "description": "Indicates whether or not the Smart Splitter was run when selecting a transaction ID."
                    }
                },
                "required": ["type"],
                "title": "Transaction ID Selection"
            },
            "ApiAmbiguousColumn_Read": {
                "type": "object",
                "properties": {
                    "position": { "type": "integer", "format": "int32", "description": "The position of the column with the resolution." },
                    "ambiguousFormats": {
                        "type": "array",
                        "description": "A list of ambiguous formats detected.",
                        "items": { "type": "string" }
                    },
                    "selectedFormat": { "type": "string", "description": "The data format to be used in case of ambiguity." }
                },
                "title": "Ambiguous Column Resolution"
            },
            "ApiAnalysisSource_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Indicates the data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "analysisPeriodId": { "type": "string", "description": "Identifies the analysis period within MindBridge." },
                    "analysisSourceTypeId": { "type": "string", "description": "Identifies the analysis source type." },
                    "fileManagerFileId": {
                        "type": "string",
                        "deprecated": true,
                        "description": "Identifies the specific file manager file within MindBridge."
                    },
                    "additionalDataColumnField": {
                        "type": "string",
                        "description": "When creating an additional data source type, this indicates which additional data column is being targeted."
                    },
                    "warningsIgnored": { "type": "boolean", "description": "Indicates whether or not warnings should be ignored." },
                    "warnings": {
                        "type": "array",
                        "description": "Details about the warnings associated with the source.",
                        "items": { "$ref": "#/components/schemas/ApiMessage_Read" }
                    },
                    "errors": {
                        "type": "array",
                        "description": "Details about the errors associated with the specific source.",
                        "items": { "$ref": "#/components/schemas/ApiMessage_Read" }
                    },
                    "workflowState": {
                        "type": "string",
                        "description": "The current state of the workflow.",
                        "enum": [
                            "COMPLETED",
                            "CANCELLED",
                            "FAILED",
                            "STARTED",
                            "DETECTING_FORMAT",
                            "ANALYZING_COLUMNS",
                            "CHECKING_INTEGRITY",
                            "SCANNING_TRANSACTION_COMBINATIONS",
                            "PARSING",
                            "PARSING_ICEBERG",
                            "ANALYZING_EFFECTIVE_DATE_METRICS",
                            "FORMAT_DETECTION_COMPLETED",
                            "COLUMN_MAPPINGS_CONFIRMED",
                            "SETTINGS_CONFIRMED",
                            "PREPARING_ICEBERG",
                            "ANALYSIS_PERIOD_SELECTED",
                            "FUNDS_REVIEWED",
                            "RUNNING",
                            "UNPACK_COMPLETE",
                            "UPLOADED",
                            "FORMAT_DETECTED",
                            "COLUMNS_ANALYZED",
                            "INTEGRITY_CHECKED",
                            "PARSED",
                            "AUTHENTICATED",
                            "CONFIGURED",
                            "EFFECTIVE_DATE_METRICS_ANALYZED",
                            "DATA_VALIDATION_CONFIRMED"
                        ]
                    },
                    "targetWorkflowState": {
                        "type": "string",
                        "description": "The state that the current workflow will advance to.",
                        "enum": [
                            "COMPLETED",
                            "CANCELLED",
                            "FAILED",
                            "STARTED",
                            "DETECTING_FORMAT",
                            "ANALYZING_COLUMNS",
                            "CHECKING_INTEGRITY",
                            "SCANNING_TRANSACTION_COMBINATIONS",
                            "PARSING",
                            "PARSING_ICEBERG",
                            "ANALYZING_EFFECTIVE_DATE_METRICS",
                            "FORMAT_DETECTION_COMPLETED",
                            "COLUMN_MAPPINGS_CONFIRMED",
                            "SETTINGS_CONFIRMED",
                            "PREPARING_ICEBERG",
                            "ANALYSIS_PERIOD_SELECTED",
                            "FUNDS_REVIEWED",
                            "RUNNING",
                            "UNPACK_COMPLETE",
                            "UPLOADED",
                            "FORMAT_DETECTED",
                            "COLUMNS_ANALYZED",
                            "INTEGRITY_CHECKED",
                            "PARSED",
                            "AUTHENTICATED",
                            "CONFIGURED",
                            "EFFECTIVE_DATE_METRICS_ANALYZED",
                            "DATA_VALIDATION_CONFIRMED"
                        ]
                    },
                    "detectedFormat": {
                        "type": "string",
                        "description": "The data format that MindBridge detected.",
                        "enum": [
                            "QUICKBOOKS_JOURNAL",
                            "QUICKBOOKS_JOURNAL_2024",
                            "QUICKBOOKS_TRANSACTION_DETAIL_BY_ACCOUNT",
                            "SAGE50_LEDGER",
                            "SAGE50_TRANSACTIONS",
                            "CCH_ACCOUNT_LIST",
                            "MS_DYNAMICS_JOURNAL",
                            "SAGE50_UK"
                        ]
                    },
                    "applyDegrouper": { "type": "boolean", "description": "Indicates whether or not the degrouper should be applied." },
                    "degrouperApplied": { "type": "boolean", "description": "Indicates whether or not the degrouper was applied." },
                    "fileInfo": {
                        "description": "Details about the file being imported into MindBridge.",
                        "oneOf": [
                            { "$ref": "#/components/schemas/ApiFileInfo_Read", "deprecated": true },
                            { "$ref": "#/components/schemas/ApiTabularFileInfo_Read" }
                        ]
                    },
                    "proposedColumnMappings": {
                        "type": "array",
                        "description": "Details about the proposed column mapping.",
                        "items": { "$ref": "#/components/schemas/ApiProposedColumnMapping_Read" }
                    },
                    "columnMappings": {
                        "type": "array",
                        "description": "Details about column mapping.",
                        "items": { "$ref": "#/components/schemas/ApiColumnMapping_Read" }
                    },
                    "proposedVirtualColumns": {
                        "type": "array",
                        "description": "Details about the proposed virtual columns added during the file import process.",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiProposedDuplicateVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiProposedJoinVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByDelimiterVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiProposedSplitByPositionVirtualColumn_Read" }
                            ]
                        }
                    },
                    "virtualColumns": {
                        "type": "array",
                        "description": "Details about the virtual columns added during file ingestion. ",
                        "items": {
                            "oneOf": [
                                { "$ref": "#/components/schemas/ApiDuplicateVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiJoinVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiSplitByDelimiterVirtualColumn_Read" },
                                { "$ref": "#/components/schemas/ApiSplitByPositionVirtualColumn_Read" }
                            ]
                        }
                    },
                    "proposedAmbiguousColumnResolutions": {
                        "type": "array",
                        "description": "Details about the virtual columns added during file ingestion.",
                        "items": { "$ref": "#/components/schemas/ApiProposedAmbiguousColumnResolution_Read" }
                    },
                    "ambiguousColumnResolutions": {
                        "type": "array",
                        "description": "Details about resolutions to ambiguity in a column.",
                        "items": { "$ref": "#/components/schemas/ApiAmbiguousColumn_Read" }
                    },
                    "proposedTransactionIdSelection": {
                        "$ref": "#/components/schemas/ApiTransactionIdSelection_Read",
                        "description": "The proposed columns to include when selecting a transaction ID."
                    },
                    "transactionIdSelection": {
                        "$ref": "#/components/schemas/ApiTransactionIdSelection_Read",
                        "description": "Details about transaction ID selection."
                    },
                    "fileInfoVersions": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A map of providing a set of file info IDs by their Analysis Source File Version."
                    },
                    "fileManagerFiles": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "A map of providing a set of file manager file IDs by their Analysis Source File Version."
                    }
                },
                "title": "Analysis Source"
            },
            "ApiColumnMapping_Read": {
                "type": "object",
                "properties": {
                    "position": { "type": "integer", "format": "int32", "description": "The position of the column mapping." },
                    "field": { "type": "string", "description": "The column name." },
                    "mindbridgeField": { "type": "string", "description": "The MindBridge field that the data column was mapped to." },
                    "mappingType": {
                        "type": "string",
                        "description": "The method used to map the column.",
                        "enum": ["AUTO", "NOT_MAPPED", "MANUAL"]
                    },
                    "additionalColumnName": {
                        "type": "string",
                        "description": "Additional columns of data that were added to the analysis."
                    }
                },
                "title": "Column Mapping"
            },
            "ApiDuplicateVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the duplicated column." }
                        }
                    }
                ],
                "required": ["columnIndex", "name", "type"],
                "title": "Duplicate Virtual Column"
            },
            "ApiJoinVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndices": {
                                "type": "array",
                                "description": "The position of the joined column.",
                                "items": { "type": "integer", "format": "int32" },
                                "minItems": 1
                            },
                            "delimiter": { "type": "string", "description": "The character(s) used to separate values.", "minLength": 1 }
                        }
                    }
                ],
                "required": ["columnIndices", "delimiter", "name", "type"],
                "title": "Join Virtual Column"
            },
            "ApiMessage_Read": {
                "type": "object",
                "properties": {
                    "code": { "type": "string", "description": "Identifies the message type." },
                    "defaultMessage": { "type": "string", "description": "The message as it appears in MindBridge." }
                }
            },
            "ApiPageApiAnalysisSource_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysisSource_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiProposedAmbiguousColumnResolution_Read": {
                "type": "object",
                "properties": {
                    "position": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the column with the proposed resolution.",
                        "minimum": 0
                    },
                    "selectedFormat": { "type": "string", "description": "The selected format of the proposed resolution.", "minLength": 1 }
                },
                "required": ["position", "selectedFormat"],
                "title": "Proposed Ambiguous Column Resolution"
            },
            "ApiProposedColumnMapping_Read": {
                "type": "object",
                "properties": {
                    "columnPosition": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed column mapping in the original input file."
                    },
                    "virtualColumnIndex": {
                        "type": "integer",
                        "format": "int32",
                        "description": "The position of the proposed virtual columns within the `proposedVirtualColumns` list."
                    },
                    "mindbridgeField": {
                        "type": "string",
                        "description": "The MindBridge field that the data column should be mapped to."
                    },
                    "additionalColumnName": {
                        "type": "string",
                        "description": "Proposed additional columns of data to be added to the analysis."
                    }
                },
                "title": "Proposed Column Mapping"
            },
            "ApiProposedDuplicateVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be duplicated."
                            }
                        }
                    }
                ],
                "required": ["columnIndex"],
                "title": "Proposed Duplicate Virtual Column"
            },
            "ApiProposedJoinVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndices": {
                                "type": "array",
                                "description": "The positions of the columns to be joined.",
                                "items": { "type": "integer", "format": "int32" },
                                "minItems": 1
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be inserted to separate values.",
                                "minLength": 1
                            }
                        }
                    }
                ],
                "required": ["columnIndices", "delimiter"],
                "title": "Proposed Join Virtual Column"
            },
            "ApiProposedSplitByDelimiterVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) that should be used to separate the string into parts.",
                                "minLength": 1
                            },
                            "splitIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the part to be used as a virtual column."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "delimiter", "splitIndex"],
                "title": "Proposed Split By Delimiter Virtual Column"
            },
            "ApiProposedSplitByPositionVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiProposedVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the column to be split."
                            },
                            "startPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The starting position of the substring to be used as the new column. **Inclusive**."
                            },
                            "endPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The ending position of the substring to be used as the new column. **Exclusive**."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "endPosition", "startPosition"],
                "title": "Proposed Split By Position Virtual Column"
            },
            "ApiProposedVirtualColumn_Read": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "name": { "type": "string", "description": "The name of the proposed virtual column." },
                    "type": {
                        "type": "string",
                        "description": "The type of proposed virtual column.",
                        "enum": ["DUPLICATE", "SPLIT_BY_POSITION", "SPLIT_BY_DELIMITER", "JOIN"]
                    }
                },
                "title": "Proposed Virtual Column"
            },
            "ApiSplitByDelimiterVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the split column." },
                            "delimiter": {
                                "type": "string",
                                "description": "The character(s) used to separate the string into parts.",
                                "minLength": 1
                            },
                            "splitIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The position of the part used as a virtual column."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "delimiter", "name", "splitIndex", "type"],
                "title": "Split By Delimiter Virtual Column"
            },
            "ApiSplitByPositionVirtualColumn_Read": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiVirtualColumn_Read" },
                    {
                        "type": "object",
                        "properties": {
                            "columnIndex": { "type": "integer", "format": "int32", "description": "The position of the split column." },
                            "startPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The starting position of the substring in the new column. **Inclusive**."
                            },
                            "endPosition": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The ending position of the substring in the new column. **Exclusive**."
                            }
                        }
                    }
                ],
                "required": ["columnIndex", "endPosition", "name", "startPosition", "type"],
                "title": "Split By Position Virtual Column"
            },
            "ApiTransactionIdSelection_Read": {
                "type": "object",
                "properties": {
                    "columnSelection": {
                        "type": "array",
                        "description": "The columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "virtualColumnSelection": {
                        "type": "array",
                        "description": "The virtual columns included when selecting a transaction ID.",
                        "items": { "type": "integer", "format": "int32" }
                    },
                    "type": {
                        "type": "string",
                        "description": "The type used when selecting a transaction ID.",
                        "enum": ["COMBINATION", "RUNNING_TOTAL"]
                    },
                    "applySmartSplitter": {
                        "type": "boolean",
                        "description": "Indicates whether or not the Smart Splitter was run when selecting a transaction ID."
                    }
                },
                "required": ["type"],
                "title": "Transaction ID Selection"
            },
            "ApiVirtualColumn_Read": {
                "type": "object",
                "discriminator": { "propertyName": "type" },
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "index": { "type": "integer", "format": "int32", "description": "The position of the virtual column." },
                    "name": { "type": "string", "description": "The name of the virtual column.", "minLength": 1 },
                    "type": {
                        "type": "string",
                        "description": "The type of virtual column.",
                        "enum": ["DUPLICATE", "SPLIT_BY_POSITION", "SPLIT_BY_DELIMITER", "JOIN"]
                    }
                },
                "required": ["name", "type"],
                "title": "Virtual Column"
            },
            "ApiAnalysisSourceType_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": { "type": "string", "description": "The name of the analysis source type." },
                    "interimName": {
                        "type": "string",
                        "description": "The name of the analysis source type when the analysis uses an interim time frame."
                    },
                    "archived": { "type": "boolean", "description": "Indicates whether or not the analysis source type is archived." },
                    "features": {
                        "type": "array",
                        "description": "A list of the features used when importing data for this analysis source type.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "FORMAT_DETECTION",
                                "DATA_VALIDATION",
                                "COLUMN_MAPPING",
                                "EFFECTIVE_DATE_METRICS",
                                "TRANSACTION_ID_SELECTION",
                                "PARSE",
                                "CONFIRM_SETTINGS",
                                "REVIEW_FUNDS"
                            ],
                            "title": "Analysis Source Feature"
                        },
                        "uniqueItems": true
                    },
                    "columnDefinitions": {
                        "type": "array",
                        "description": "A list of MindBridge column definitions that this analysis source type supports.",
                        "items": { "$ref": "#/components/schemas/ApiColumnDefinition_Read" }
                    }
                },
                "title": "Analysis Source Type"
            },
            "ApiColumnDefinition_Read": {
                "type": "object",
                "properties": {
                    "mindbridgeFieldName": { "type": "string", "description": "The internal name of the analysis source type's column." },
                    "mindbridgeFieldNameForNonMacGroupings": {
                        "type": "string",
                        "description": "The alternative column name when a non-MAC based account grouping is used."
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of data this column accepts.",
                        "enum": ["TEXT", "NUMBER", "DATE", "UNKNOWN", "FLOAT64"]
                    },
                    "required": { "type": "boolean", "description": "Indicates whether or not this column is required." },
                    "requiredForNonMacGroupings": {
                        "type": "boolean",
                        "description": "Indicates whether or not this column is required when using a non-MAC based account grouping."
                    },
                    "allowBlanks": {
                        "type": "boolean",
                        "description": "Indicates whether or not this column allows the source column to contain blank values."
                    },
                    "alternativeMappings": {
                        "type": "array",
                        "description": "A list of alternative mappings, identified by their `mindbridgeFieldName`. If all of the alternatives are mapped, then this mapping's `required` constraint is considered satisfied. \n\n**Note**: This column may not be mapped if any alternative is also mapped.",
                        "items": { "type": "string" }
                    },
                    "defaultValue": {
                        "type": "string",
                        "description": "A value that is substituted for blank values when `allowBlanks` is false."
                    }
                },
                "title": "Column Definition"
            },
            "ApiPageApiAnalysisSourceType_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysisSourceType_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiAnalysisResult_Read": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo_Read",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the type of analysis." },
                    "interim": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis is using an interim time frame."
                    },
                    "analysisPeriods": {
                        "type": "array",
                        "description": "Details about the specific analysis periods under audit.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisPeriod_Read" }
                    },
                    "reportingPeriodConfigurationId": {
                        "type": "string",
                        "description": "Identifies the associated reporting period configuration. If null the analysis uses a standard reporting period."
                    }
                },
                "title": "Analysis Result"
            },
            "PageApiAnalysisResult_Read": {
                "type": "object",
                "properties": {
                    "totalElements": { "type": "integer", "format": "int64" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "pageable": { "$ref": "#/components/schemas/PageableObject_Read" },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysisResult_Read" } },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true },
                    "empty": { "type": "boolean" }
                }
            },
            "PageableObject_Read": {
                "type": "object",
                "properties": {
                    "paged": { "type": "boolean" },
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "unpaged": { "type": "boolean" },
                    "offset": { "type": "integer", "format": "int64", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true }
                }
            },
            "ApiAnalysisPeriod_Create": {
                "type": "object",
                "properties": {
                    "startDate": { "type": "string", "format": "date", "description": "The first day of the period under analysis." },
                    "interimAsAtDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The last day of the interim period under analysis."
                    },
                    "endDate": { "type": "string", "format": "date", "description": "The last day of the period under analysis." }
                },
                "required": ["endDate", "startDate"]
            },
            "ApiAnalysis_Create": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "Identifies the associated engagement." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the type of analysis." },
                    "name": { "type": "string", "description": "The name of the analysis.", "maxLength": 80, "minLength": 0 },
                    "interim": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis is using an interim time frame."
                    },
                    "periodic": {
                        "type": "boolean",
                        "description": "Indicates whether or not the analysis is using a periodic time frame."
                    },
                    "analysisPeriods": {
                        "type": "array",
                        "description": "Details about the specific analysis periods under audit.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisPeriod_Create" },
                        "minItems": 1
                    },
                    "currencyCode": { "type": "string", "description": "The currency to be displayed across the analysis results." },
                    "referenceId": {
                        "type": "string",
                        "description": "A reference ID to identify the analysis.",
                        "maxLength": 256,
                        "minLength": 0
                    }
                },
                "required": ["analysisPeriods", "analysisTypeId", "currencyCode", "engagementId", "name"],
                "title": "Analysis"
            },
            "ApiPageApiAnalysis_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAnalysis_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiEngagementRollForwardRequest": {
                "type": "object",
                "properties": {
                    "analysisId": { "type": "string", "description": "Identifies the analysis to roll forward." },
                    "targetEngagementId": {
                        "type": "string",
                        "description": "Identifies the engagement that the analysis will be rolled forward into."
                    },
                    "interim": { "type": "boolean", "description": "When `true`, the new analysis period will use an interim time frame." }
                },
                "required": ["analysisId", "targetEngagementId"],
                "title": "Engagement Roll Forward Request"
            },
            "RunAdminReportRequest_Create": {
                "type": "object",
                "properties": {
                    "start": { "type": "string", "format": "date-time", "description": "The first date in the reporting timeframe." },
                    "end": { "type": "string", "format": "date-time", "description": "The last date in the reporting timeframe." }
                },
                "required": ["end", "start"],
                "title": "Run Admin Report Request"
            },
            "RunAnalysisOverviewReportRequest_Create": {
                "type": "object",
                "properties": {
                    "includeAmountValue": {
                        "type": "boolean",
                        "description": "Indicates whether to include amount value. Defaults to `false` if not specified."
                    },
                    "includeEntriesPercentageValue": {
                        "type": "boolean",
                        "description": "Indicates whether to include entries percentage value. Defaults to `false` if not specified."
                    },
                    "includeAmountPercentageValue": {
                        "type": "boolean",
                        "description": "Indicates whether to include amount percentage value. Defaults to `false` if not specified."
                    },
                    "includeControlPointAndWeights": {
                        "type": "boolean",
                        "description": "Indicates whether to include control point and weights. Defaults to `false` if not specified."
                    },
                    "userTimeZone": {
                        "type": "string",
                        "description": "Time zone to use for certain times in the export. Defaults to `UTC` if not specified or if the provided timezone string value is unable to be determined."
                    },
                    "csvExport": {
                        "type": "boolean",
                        "description": "Indicates to export as a CSV file format instead of Excel. Defaults to `true` if not specified."
                    },
                    "analysisIds": {
                        "type": "array",
                        "description": "The analysis ids to include. If not provided or empty, all will be included.",
                        "items": { "type": "string" }
                    },
                    "riskScoreIds": {
                        "type": "array",
                        "description": "The risk score ids being filtered. If not provided, all will be included.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    }
                },
                "title": "Run Analysis Overview Report Request"
            },
            "RunActivityReportRequest_Create": {
                "type": "object",
                "properties": {
                    "start": { "type": "string", "format": "date-time", "description": "The first date in the reporting timeframe." },
                    "end": { "type": "string", "format": "date-time", "description": "The last date in the reporting timeframe." },
                    "userIds": {
                        "type": "array",
                        "description": "The users to include in the report. If empty, all users will be included.",
                        "items": { "type": "string" }
                    },
                    "categories": {
                        "type": "array",
                        "description": "The categories to include in the report. If empty, all categories will be included.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "ACCOUNT_GROUPING",
                                "ACCOUNT_MAPPING",
                                "ADMIN_REPORT",
                                "ANALYSIS",
                                "ANALYSIS_SETTINGS",
                                "ANALYSIS_TYPE",
                                "API_TOKEN",
                                "AUDIT_ANNOTATION",
                                "COLLECTION_ASSIGNMENT",
                                "CONNECTION",
                                "CUSTOM_CONTROL_POINT",
                                "ENGAGEMENT",
                                "ENGAGEMENT_ACCOUNT_GROUP",
                                "FILE_LOCKER",
                                "FILE_MANAGER",
                                "FILTER",
                                "GDPDU",
                                "INGESTION",
                                "INTEGRATIONS",
                                "LIBRARY",
                                "MIGRATION",
                                "ORGANIZATION",
                                "POPULATION",
                                "QUERY",
                                "RATIO",
                                "REPORT_BUILDER",
                                "REPORT",
                                "RESULTS_EXPORT",
                                "RISK_RANGES",
                                "RISK_SEGMENTATION_DASHBOARD",
                                "SCIM_API",
                                "SUPPORT_ACCESS",
                                "TASK",
                                "USER",
                                "WORKFLOW",
                                "PAGE_VIEW",
                                "ANALYSIS_SOURCE",
                                "WEBHOOK",
                                "PROCEDURE_INSTANCE",
                                "CLOUD_ELEMENTS",
                                "ENGAGEMENT_ACCOUNT_GROUPING_NODE"
                            ]
                        }
                    },
                    "onlyCompletedAnalyses": { "type": "boolean", "description": "Restrict entries to analysis complete events." }
                },
                "required": ["end", "start"],
                "title": "Run Activity Report Request"
            },
            "ApiVerifyAccountsRequest": {
                "type": "object",
                "properties": {
                    "engagementId": { "type": "string", "description": "The unique identifier of the engagement to verify accounts for." }
                },
                "required": ["engagementId"],
                "title": "Verify Accounts Request"
            },
            "ApiPageApiAccountMapping_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAccountMapping_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiExportAccountsRequest": {
                "type": "object",
                "properties": { "engagementId": { "type": "string" } },
                "required": ["engagementId"],
                "title": "Export Accounts Request"
            },
            "ApiDeleteUnusedAccountMappingsRequest": {
                "type": "object",
                "properties": {
                    "engagementId": {
                        "type": "string",
                        "description": "The unique identifier of the engagement to delete unused account mappings for."
                    }
                },
                "required": ["engagementId"],
                "title": "Delete Unused Account Mappings Request"
            },
            "ApiPageApiAccountGroup_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAccountGroup_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiImportAccountGroupingParams_Update": {
                "type": "object",
                "properties": {
                    "chunkedFileId": {
                        "type": "string",
                        "description": "The unique identifier of the chunked file that contains the account grouping data."
                    }
                },
                "required": ["chunkedFileId"],
                "title": "Import Account Grouping Parameters"
            },
            "ApiAccountGrouping": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The data integrity version, to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "name": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account grouping."
                    },
                    "codeDisplayName": {
                        "type": "object",
                        "additionalProperties": { "type": "string" },
                        "description": "The name of the account code hierarchy system used within the dataset."
                    },
                    "delimiter": {
                        "type": "string",
                        "description": "The delimiter character used to separate each category level in an account grouping code."
                    },
                    "mac": { "type": "boolean", "description": "When `true`, the account grouping is based on the MAC code system." },
                    "system": {
                        "type": "boolean",
                        "description": "When `true`, the account grouping is a system account grouping and cannot be modified."
                    },
                    "archived": { "type": "boolean", "description": "When `true`, the account grouping is archived." },
                    "publishedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the account grouping was published."
                    },
                    "publishStatus": {
                        "type": "string",
                        "description": "The current status of the account grouping.",
                        "enum": ["DRAFT", "UNPUBLISHED_CHANGES", "PUBLISHED"]
                    }
                },
                "title": "Account Grouping"
            },
            "ApiPageApiAccountGrouping_Read": {
                "type": "object",
                "properties": {
                    "pageNumber": { "type": "integer", "format": "int32" },
                    "totalPages": { "type": "integer", "format": "int32" },
                    "content": { "type": "array", "items": { "$ref": "#/components/schemas/ApiAccountGrouping_Read" } },
                    "numberOfElements": { "type": "integer", "format": "int32" },
                    "totalElements": { "type": "integer", "format": "int64" },
                    "pageable": { "$ref": "#/components/schemas/ApiPageable_Read", "deprecated": true },
                    "pageSize": { "type": "integer", "format": "int32", "deprecated": true },
                    "sort": { "$ref": "#/components/schemas/SortObject_Read", "deprecated": true },
                    "size": { "type": "integer", "format": "int32", "deprecated": true },
                    "number": { "type": "integer", "format": "int32", "deprecated": true },
                    "first": { "type": "boolean", "deprecated": true },
                    "last": { "type": "boolean", "deprecated": true }
                },
                "title": "Page"
            },
            "ApiImportAccountGroupingParams_Create": {
                "type": "object",
                "properties": {
                    "name": { "type": "string", "description": "The name of the new account grouping.", "minLength": 1 },
                    "type": {
                        "type": "string",
                        "description": "The type of account grouping file being imported.",
                        "enum": ["MINDBRIDGE_TEMPLATE", "CCH_GROUP_TRIAL_BALANCE"]
                    },
                    "chunkedFileId": {
                        "type": "string",
                        "description": "The unique identifier of the chunked file that contains the account grouping data."
                    }
                },
                "required": ["chunkedFileId", "name", "type"],
                "title": "Import Account Grouping Parameters"
            },
            "ApiBasicMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    }
                },
                "title": "Table Metadata Basic Metrics"
            },
            "ApiColumnData": {
                "type": "object",
                "properties": {
                    "columnName": { "type": "string", "description": "The name of the column." },
                    "position": { "type": "integer", "format": "int32", "description": "The index of the column." },
                    "synthetic": {
                        "type": "boolean",
                        "description": "If `true` this column was generated, as opposed to being a part of the original data."
                    },
                    "rowSample": {
                        "type": "array",
                        "description": "A list of values from this column across multiple rows. All values are distinct.",
                        "items": { "type": "string" }
                    },
                    "columnMetadata": { "$ref": "#/components/schemas/ApiColumnMetadata", "description": "A collection of metrics." }
                },
                "title": "Column Metadata"
            },
            "ApiColumnDateTimeFormat": {
                "type": "object",
                "properties": {
                    "selected": {
                        "type": "boolean",
                        "description": "If true, this format was selected during column mapping as the correct format for this column."
                    },
                    "customFormatPattern": { "type": "string", "description": "The pattern of this date format." },
                    "sampleRawValues": {
                        "type": "array",
                        "description": "A list of values in this column.",
                        "items": { "type": "string" }
                    },
                    "sampleConvertedValues": {
                        "type": "array",
                        "description": "A list of date time values derived by parsing the text using this format.",
                        "items": { "type": "string", "format": "date-time" }
                    }
                },
                "title": "Table Metadata Date Time Format"
            },
            "ApiColumnMetadata": {
                "type": "object",
                "properties": {
                    "cellLengthMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding cells that are larger than 2000 characters in the column."
                    },
                    "dataTypeMetrics": {
                        "$ref": "#/components/schemas/ApiDataTypeMetrics",
                        "description": "Metrics regarding the data types of column values."
                    },
                    "densityMetrics": {
                        "$ref": "#/components/schemas/ApiDensityMetrics",
                        "description": "Metrics regarding the density of column values."
                    },
                    "distinctValueMetrics": {
                        "$ref": "#/components/schemas/ApiDistinctValueMetrics",
                        "description": "Metrics regarding the uniqueness of column values."
                    },
                    "nullValueMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding “null” values in the column."
                    },
                    "scientificNotationMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding the use of scientific notation in the column."
                    },
                    "specialCharacterMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding the use of special characters in the column."
                    }
                },
                "title": "Column Metadata Metrics"
            },
            "ApiCountMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." }
                },
                "title": "Table Metadata Count Metrics"
            },
            "ApiCurrencyFormat": {
                "type": "object",
                "properties": {
                    "decimalCharacter": { "type": "string", "description": "The character used as a decimal separator." },
                    "nonDecimalDelimiters": {
                        "type": "array",
                        "description": "Non decimal separator special characters, including currency and grouping characters.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "ambiguousDelimiters": {
                        "type": "array",
                        "description": "A list of possible delimiter characters, if multiple possible candidates are available.",
                        "items": { "type": "string" },
                        "uniqueItems": true
                    },
                    "example": { "type": "string", "description": "An example value." }
                },
                "title": "Table Metadata Currency Format"
            },
            "ApiDataPreview": {
                "type": "object",
                "properties": {
                    "row": { "type": "integer", "format": "int64", "description": "The row number within the table." },
                    "column": { "type": "integer", "format": "int32", "description": "The column index within the row." },
                    "data": { "type": "string", "description": "The value within the target row." }
                },
                "title": "Table Metadata Data Preview"
            },
            "ApiDataTypeMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "nonNullValueCount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of non-null values in this column."
                    },
                    "typeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of column type to number of occurrences. A single column value can match multiple types."
                    },
                    "textTypeDetails": {
                        "$ref": "#/components/schemas/ApiTextTypeDetails",
                        "description": "Metrics regarding the text type values in this column."
                    },
                    "numericTypeDetails": {
                        "$ref": "#/components/schemas/ApiNumericTypeDetails",
                        "description": "Metrics regarding the number type values in this column."
                    },
                    "dateTypeDetails": {
                        "$ref": "#/components/schemas/ApiDateTypeDetails",
                        "description": "Metrics regarding the date type values in this column."
                    },
                    "detectedTypes": {
                        "type": "array",
                        "description": "A list of all detected types in this column.",
                        "items": { "type": "string", "enum": ["TEXT", "NUMBER", "DATE", "UNKNOWN", "FLOAT64"] }
                    },
                    "dominantType": {
                        "type": "string",
                        "description": "The type determined to be the most prevalent in this column.",
                        "enum": ["TEXT", "NUMBER", "DATE", "UNKNOWN", "FLOAT64"]
                    }
                },
                "title": "Table Metadata Data Type Metrics"
            },
            "ApiDateTypeDetails": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeZonedDateTime",
                        "description": "A pair of values representing the earliest and latest values within this column."
                    },
                    "ambiguousDateTimeFormats": {
                        "type": "array",
                        "description": "A list of possible date time formats, if multiple possible candidates are available.",
                        "items": { "$ref": "#/components/schemas/ApiColumnDateTimeFormat" }
                    },
                    "unambiguousDateTimeFormats": {
                        "type": "array",
                        "description": "A list of possible date time formats, if multiple possible candidates are available.",
                        "items": { "$ref": "#/components/schemas/ApiColumnDateTimeFormat" }
                    }
                },
                "title": "Table Metadata Date Type Details"
            },
            "ApiDensityMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "density": {
                        "type": "number",
                        "format": "float",
                        "description": "The percentage density of values against blanks, represented as decimal between 1 and 0."
                    },
                    "blanks": { "type": "integer", "format": "int64", "description": "The number of blank values." }
                },
                "title": "Table Metadata Density Metrics"
            },
            "ApiDistinctValueMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." }
                },
                "title": "Table Metadata Distinct Metrics"
            },
            "ApiFileInfo": {
                "type": "object",
                "properties": {
                    "id": { "type": "string", "description": "The unique object identifier." },
                    "version": {
                        "type": "integer",
                        "format": "int64",
                        "description": "Data integrity version to ensure data consistency."
                    },
                    "creationDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was originally created."
                    },
                    "lastModifiedDate": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date that the object was last updated or modified."
                    },
                    "createdUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who created the object.",
                        "readOnly": true
                    },
                    "lastModifiedUserInfo": {
                        "$ref": "#/components/schemas/ApiUserInfo",
                        "description": "Details about the user who last modified or updated the object.",
                        "readOnly": true
                    },
                    "type": {
                        "type": "string",
                        "description": "The type of file info entity.",
                        "enum": ["FILE_INFO", "TABULAR_FILE_INFO"],
                        "title": "File Info Type"
                    },
                    "name": { "type": "string", "description": "The name of the underlying file or table." },
                    "formatDetected": { "type": "boolean", "description": "When `true` a known grouped format was detected." },
                    "format": {
                        "type": "string",
                        "description": "The grouped format that was detected.",
                        "enum": [
                            "QUICKBOOKS_JOURNAL",
                            "QUICKBOOKS_JOURNAL_2024",
                            "QUICKBOOKS_TRANSACTION_DETAIL_BY_ACCOUNT",
                            "SAGE50_LEDGER",
                            "SAGE50_TRANSACTIONS",
                            "CCH_ACCOUNT_LIST",
                            "MS_DYNAMICS_JOURNAL",
                            "SAGE50_UK"
                        ]
                    }
                },
                "title": "File Info"
            },
            "ApiHistogramMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "histogram": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of the number of columns to the number of rows with that many columns, in the case of unevenColumnsMetrics."
                    }
                },
                "title": "Table Metadata Histogram Metrics"
            },
            "ApiNumericTypeDetails": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeBigDecimal",
                        "description": "A pair of values representing the min and max values within this column."
                    },
                    "currencyFormat": {
                        "$ref": "#/components/schemas/ApiCurrencyFormat",
                        "description": "Metadata on the detected number format of this column."
                    },
                    "examplePairFromCurrencyFormatter": {
                        "type": "array",
                        "description": "A pair of values as examples in the event that two or more unambiguous number formats are detected in the same column.",
                        "items": { "type": "string" }
                    },
                    "sum": {
                        "type": "number",
                        "description": "The sum of all values in this column, up to a maximum of 10e<sup>50</sup>. Values smaller than 10e<sup>-50</sup> will be rounded up."
                    },
                    "cappedSum": { "type": "boolean", "description": "If `true` then the sum is larger than 10e<sup>50</sup>." },
                    "cappedMax": {
                        "type": "boolean",
                        "description": "If `true` then at least one individual value is larger than 10e<sup>50</sup>."
                    }
                },
                "title": "Table Metadata Numeric Type Details"
            },
            "ApiOverallDataTypeMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "cellTypeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map of data types to the number of cells in the table of that data type."
                    },
                    "columnTypeCounts": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int32" },
                        "description": "A map of data types to the number of columns in the table of that data type."
                    },
                    "totalRecords": { "type": "integer", "format": "int64", "description": "The total number of values." },
                    "blankRecords": { "type": "integer", "format": "int64", "description": "The number of blank values." },
                    "columnCount": { "type": "integer", "format": "int32", "description": "The number of columns." },
                    "totalRows": { "type": "integer", "format": "int64", "description": "The total number of rows." }
                },
                "title": "Table Metadata Overall Data Type Metrics"
            },
            "ApiSheetMetrics": {
                "type": "object",
                "properties": {
                    "state": {
                        "type": "string",
                        "description": "Validation state of the metric within its context.",
                        "enum": ["PASS", "WARN", "FAIL"]
                    },
                    "dataPreviews": {
                        "type": "array",
                        "description": "A list of values within the table relevant to the metric.",
                        "items": { "$ref": "#/components/schemas/ApiDataPreview" }
                    },
                    "count": { "type": "integer", "format": "int64", "description": "The amount of a given metric." },
                    "sheetNames": {
                        "type": "array",
                        "description": "A list of sheet names within the underlying Excel file.",
                        "items": { "type": "string" }
                    },
                    "validSheets": {
                        "type": "array",
                        "description": "A list of usable sheet names within the underlying Excel file.",
                        "items": { "type": "string" }
                    }
                },
                "title": "Table Metadata Sheet Metrics"
            },
            "ApiTableMetadata": {
                "type": "object",
                "properties": {
                    "cellLengthMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding cells that are larger than 2000 characters in the table."
                    },
                    "densityMetrics": {
                        "$ref": "#/components/schemas/ApiDensityMetrics",
                        "description": "Metrics regarding whole table density."
                    },
                    "inconsistentDateMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding inconsistent date formats within columns for the entire table."
                    },
                    "nullValueMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding “null” values across the entire table."
                    },
                    "numericColumnMetrics": {
                        "$ref": "#/components/schemas/ApiBasicMetrics",
                        "description": "Metrics regarding numeric columns within the table."
                    },
                    "overallDataTypeMetrics": {
                        "$ref": "#/components/schemas/ApiOverallDataTypeMetrics",
                        "description": "Metrics regarding detected data types across the entire table."
                    },
                    "scientificNotationMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding scientific notation across the entire table."
                    },
                    "sheetMetrics": {
                        "$ref": "#/components/schemas/ApiSheetMetrics",
                        "description": "Metrics regarding excel sheets within the underlying excel file."
                    },
                    "specialCharacterMetrics": {
                        "$ref": "#/components/schemas/ApiCountMetrics",
                        "description": "Metrics regarding special characters across the entire table."
                    },
                    "unevenColumnsMetrics": {
                        "$ref": "#/components/schemas/ApiHistogramMetrics",
                        "description": "Metrics regarding column length by row."
                    }
                },
                "title": "Table Metadata"
            },
            "ApiTabularFileInfo": {
                "allOf": [
                    { "$ref": "#/components/schemas/ApiFileInfo" },
                    {
                        "type": "object",
                        "properties": {
                            "headerRowIndex": {
                                "type": "integer",
                                "format": "int32",
                                "description": "The row number of the first detected header."
                            },
                            "firstLine": { "type": "string", "description": "The first line of the table." },
                            "delimiter": {
                                "type": "string",
                                "description": "The delimiter character used to separate cells. Only populated when the underlying file is a CSV file."
                            },
                            "lastNonBlankRowIndex": {
                                "type": "integer",
                                "format": "int64",
                                "description": "The row number of the last row that isn't blank."
                            },
                            "tableMetadata": {
                                "$ref": "#/components/schemas/ApiTableMetadata",
                                "description": "A collection of metadata describing the table as a whole."
                            },
                            "columnData": {
                                "type": "array",
                                "description": "A list of column metadata entities, describing each column.",
                                "items": { "$ref": "#/components/schemas/ApiColumnData" }
                            },
                            "rowContentSnippets": {
                                "type": "array",
                                "description": "A list of sample rows from the underlying file.",
                                "items": { "type": "array", "items": { "type": "string" } }
                            }
                        }
                    }
                ],
                "title": "Tabular File Info"
            },
            "ApiTextTypeDetails": {
                "type": "object",
                "properties": {
                    "range": {
                        "$ref": "#/components/schemas/RangeInteger",
                        "description": "A pair of values representing the min and max length of text values within this column."
                    }
                },
                "title": "Table Metadata Text Type Details"
            },
            "RangeBigDecimal": { "type": "object", "properties": { "min": { "type": "number" }, "max": { "type": "number" } } },
            "RangeInteger": {
                "type": "object",
                "properties": { "min": { "type": "integer", "format": "int32" }, "max": { "type": "integer", "format": "int32" } }
            },
            "RangeZonedDateTime": {
                "type": "object",
                "properties": { "min": { "type": "string", "format": "date-time" }, "max": { "type": "string", "format": "date-time" } }
            },
            "ApiEffectiveDateMetrics_Read": {
                "type": "object",
                "properties": {
                    "periodType": {
                        "type": "string",
                        "description": "Indicates the time period by which the histogram has been broken down.",
                        "enum": ["DAY", "WEEK", "MONTH"]
                    },
                    "entriesInPeriod": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of entries that occurred within the source period's date range."
                    },
                    "entriesOutOfPeriod": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of entries that occurred outside of the source period's date range."
                    },
                    "debitsInPeriod": {
                        "type": "number",
                        "description": "The total debit amount that occurred within the source period's date range."
                    },
                    "creditsInPeriod": {
                        "type": "number",
                        "description": "The total credit amount that occurred within the source period's date range."
                    },
                    "inPeriodCountHistogram": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map showing the total number of entries that occurred within each indicated date period."
                    },
                    "outOfPeriodCountHistogram": {
                        "type": "object",
                        "additionalProperties": { "type": "integer", "format": "int64" },
                        "description": "A map showing the total number of entries that occurred outside of each indicated date period."
                    }
                }
            },
            "ApiAnalysisSourceStatus_Read": {
                "type": "object",
                "properties": {
                    "sourceId": { "type": "string", "description": "Identifies the analysis source object." },
                    "analysisSourceTypeId": { "type": "string", "description": "Identifies the analysis source type." },
                    "status": {
                        "type": "string",
                        "description": "The current state of the analysis source.",
                        "enum": ["IMPORTING", "UPLOADING", "IN_PROGRESS", "COMPLETED", "CANCELLED", "FAILED"]
                    },
                    "periodId": { "type": "string", "description": "Identifies the analysis period within the analysis." }
                }
            },
            "ApiAnalysisStatus_Read": {
                "type": "object",
                "properties": {
                    "analysisId": { "type": "string", "description": "Identifies the associated analysis." },
                    "analysisTypeId": { "type": "string", "description": "Identifies the type of analysis." },
                    "preflightErrors": {
                        "type": "array",
                        "description": "The errors that occurred before the analysis was run.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "IN_PROGRESS",
                                "NOT_READY",
                                "ARCHIVED",
                                "REQUIRED_FILES_MISSING",
                                "SOURCES_NOT_READY",
                                "SOURCE_ERROR",
                                "UNVERIFIED_ACCOUNT_MAPPINGS",
                                "ANALYSIS_PERIOD_OVERLAP",
                                "SOURCE_WARNINGS_PRESENT"
                            ]
                        }
                    },
                    "sourceStatuses": {
                        "type": "array",
                        "description": "Details about the state of each analysis source.",
                        "items": { "$ref": "#/components/schemas/ApiAnalysisSourceStatus_Read" }
                    },
                    "availableFeatures": {
                        "type": "object",
                        "additionalProperties": { "type": "boolean" },
                        "description": "Details about the various analysis capabilities available in MindBridge. [Learn more](https://support.mindbridge.ai/hc/en-us/articles/360056395234)"
                    },
                    "status": {
                        "type": "string",
                        "description": "The current state of the analysis.",
                        "enum": [
                            "NOT_STARTED",
                            "IMPORTING_FILE",
                            "PREPARING_DATA",
                            "PROCESSING",
                            "CONSOLIDATING_RESULTS",
                            "COMPLETED",
                            "FAILED"
                        ]
                    },
                    "ready": { "type": "boolean", "description": "Indicates whether or not the analysis is ready to be run." },
                    "mappedAccountMappingCount": { "type": "integer", "format": "int64", "description": "The number of mapped accounts." },
                    "unmappedAccountMappingCount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of unmapped accounts."
                    },
                    "inferredAccountMappingCount": {
                        "type": "integer",
                        "format": "int64",
                        "description": "The number of inferred account mapping; this can be considered a warning on partial matches."
                    },
                    "reRunReady": { "type": "boolean", "description": "Indicates whether or not the analysis is ready to be run again." }
                },
                "title": "Analysis Status"
            },
            "MindBridgeQueryTerm": {
                "type": "object",
                "anyOf": [
                    { "$ref": "#/components/schemas/MindBridgeQueryEqualsShortTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryEqualsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryNotEqualsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryGreaterThanTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryGreaterThanEqualsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryLessThanTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryLessThanEqualsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryContainsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryNotContainsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryInTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryNotInTerm" },
                    { "$ref": "#/components/schemas/ShieldFlagsTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryCaseInsensitiveSubstringTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryCaseInsensitivePrefixTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryNotCaseInsensitivePrefixTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryAndTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryOrTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryKeywordPrefixTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryKeywordPrefixNotTerm" },
                    { "$ref": "#/components/schemas/MindBridgeQueryEmptyTerm" }
                ]
            },
            "MindBridgeQueryEqualsShortTerm": {
                "type": "object",
                "additionalProperties": {
                    "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }]
                }
            },
            "MindBridgeQueryEqualsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": {
                        "$eq": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }] }
                    }
                }
            },
            "MindBridgeQueryNotEqualsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": {
                        "$ne": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }] }
                    }
                }
            },
            "MindBridgeQueryGreaterThanTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$gt": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "string" }] } }
                }
            },
            "MindBridgeQueryGreaterThanEqualsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$gte": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "string" }] } }
                }
            },
            "MindBridgeQueryLessThanTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$lt": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "string" }] } }
                }
            },
            "MindBridgeQueryLessThanEqualsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$lte": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "string" }] } }
                }
            },
            "MindBridgeQueryContainsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$contains": { "type": "array", "items": { "type": "string" } } }
                }
            },
            "MindBridgeQueryNotContainsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$ncontains": { "type": "array", "items": { "type": "string" } } }
                }
            },
            "MindBridgeQueryInTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": {
                        "$in": {
                            "type": "array",
                            "items": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }] }
                        }
                    }
                }
            },
            "MindBridgeQueryNotInTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": {
                        "$nin": {
                            "type": "array",
                            "items": { "oneOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }] }
                        }
                    }
                }
            },
            "ShieldFlagsTerm": {
                "type": "object",
                "additionalProperties": {
                    "type": "object",
                    "properties": { "$flags": { "type": "object", "additionalProperties": { "type": "boolean" } } }
                }
            },
            "MindBridgeQueryCaseInsensitiveSubstringTerm": {
                "type": "object",
                "additionalProperties": { "type": "object", "properties": { "$isubstr": { "type": "string" } } }
            },
            "MindBridgeQueryCaseInsensitivePrefixTerm": {
                "type": "object",
                "additionalProperties": { "type": "object", "properties": { "$iprefix": { "type": "string" } } }
            },
            "MindBridgeQueryNotCaseInsensitivePrefixTerm": {
                "type": "object",
                "additionalProperties": { "type": "object", "properties": { "$niprefix": { "type": "string" } } }
            },
            "MindBridgeQueryAndTerm": {
                "type": "object",
                "properties": { "$and": { "type": "array", "items": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } }
            },
            "MindBridgeQueryOrTerm": {
                "type": "object",
                "properties": { "$or": { "type": "array", "items": { "$ref": "#/components/schemas/MindBridgeQueryTerm" } } }
            },
            "MindBridgeQueryKeywordPrefixTerm": { "type": "object", "properties": { "$keyword_prefix": { "type": "string" } } },
            "MindBridgeQueryKeywordPrefixNotTerm": { "type": "object", "properties": { "$keyword_prefix_not": { "type": "string" } } },
            "MindBridgeQueryEmptyTerm": { "type": "object" },
            "JsonTableBody": {
                "type": "array",
                "example": [
                    { "Amount": "100.00$", "Account": "Accounts Receivable" },
                    { "Amount": "100.00$", "Account": "Accounts Payable" }
                ],
                "items": {
                    "type": "object",
                    "items": { "anyOf": [{ "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "type": "string" }] }
                }
            }
        },
        "securitySchemes": { "mindbridge-api": { "type": "http", "scheme": "bearer", "bearerFormat": "opaque" } }
    },
    "webhooks": {
        "webhooks": {
            "post": {
                "tags": ["Webhooks"],
                "description": "Webhooks provide a lightweight, event driven method of notifying external systems of events within the MindBridge platform. Internal events communicate data\nwith external systems via HTTPS requests originating from our platform, allowing for a more robust automation potential without the need to poll for status. In\norder to leverage webhook functionality, a URL must be provided, and a selection of events that you would like to receive notifications for associated with that\nURL.\n\n## URL Restrictions\n\n- Each webhook must have a unique URL. You can configure a webhook to send multiple events to the same URL.\n- Must be an HTTPS URL.\n- The URL hostname must use a fully qualified name, not an IP address.\n\n## Outbound Request\n\nEach outbound request is sent as an HTTPS POST. The post will contain a JSON payload in the body of the message. As well as the JSON payload, there are a number\nof important HTTPS headers that are attached to each message. Using this information, combined with the public key associated with the configured webhook,\nallows the verification of a digital signature. The method of authenticating the payload will be covered in a separate section.\n\n| **HTTPS Header**    | **Description**                                                                          |\n|---------------------|------------------------------------------------------------------------------------------|\n| `webhook-id`        | A unique event ID for the event that triggered the outbound webhook request.             |\n| `webhook-timestamp` | Timestamp associated with the outbound HTTPS request.                                    |\n| `webhook-signature` | The digital signature that can be used to validate the authenticity of the webhook data. |\n\n## Security\n\nWebhooks operate by communicating with configured HTTPS URLs. This can lead to potential security risks from malicious actors. To authenticate the validity of \nwebhook payloads on the receiving side, the MindBridge platform implements an asymmetric digital signature scheme. This scheme verifies that a payload \noriginated from the platform and has not been modified. When a webhook is registered, a public key utilizing the `Ed25519` algorithm is associated with the \nwebhook configuration. Measures used to mitigate common attack scenarios within the digital signing scheme are covered below.\n\n## Configuring your Server\n\nIn order to listen to webhook events, you must have a publicly accessible server that can accept HTTPS POST requests from the MindBridge system. This server\nmust not implement any authentication protocols in order to receive data. The data signature scheme implemented provides a mechanism to ensure data integrity,\nand while this is optional\nto [authenticate the received payload,](https://mindbridge-ai.atlassian.net/wiki/spaces/SBE/pages/4921327617/API+Content+-+Webhooks#Authenticating-a-Payload\n\"https://mindbridge-ai.atlassian.net/wiki/spaces/SBE/pages/4921327617/API+Content+-+Webhooks#Authenticating-a-Payload\")\nit is highly recommended to utilize this data integrity check in your workflow.\n\n## Responding to Webhook Requests\n\nHow you respond to a webhook event has implications on the status of the webhook configured within the MindBridge system. We look at the HTTP response code, and\nin some cases the HTTP headers in order to determine actions we may take within our system.\n\n| **HTTP Code**       | **Result**                            |\n|---------------------|---------------------------------------|\n| 200 series response | Successfully received webhook payload |\n\n## Authenticating a Payload\n\nUse the data from the payload, the headers in the HTTP post, and the public key associated with your webhook configuration. With these, you will be able to\nvalidate the digital signature that is attached in the HTTP header. In order to accomplish this, you need to format a string with the following format:\n\n`<webhook-id>.<webhook-timestamp>.<payload>`\n\nValues with `< >` surrounding them are variables to insert into the template above.\n\n| **Variable**      | **Description**                                  |\n|-------------------|--------------------------------------------------|\n| webhook-id        | Found in the HTTP header                         |\n| webhook-timestamp | Found in the HTTP header                         |\n| payload           | The unmodified contents of the HTTP POST request |\n\nWith this string generated, and using the public key from the webhook configuration, and the algorithm `Ed25519`, you can create a digital signature of the\nformatted string created above, and compare it against the digital signature provided in the HTTP header, under the key `webhook-signature`. The creation of\nthis formatted payload helps to mitigate common attack patterns, such as replay attacks, which is why the timestamp of the outbound request is part of the\nsigned message.\n\n## Events\n\n| **Name**            | **Description**                                                                                                                                                                   | **Event Type**      | **Payload Model**            |\n|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|------------------------------|\n| Analysis Created    | Notify the registered webhook URL that an Analysis has been created.                                                                                                              | analysis.created    | AnalysisWebhookPayload       |\n| Analysis Updated    | Notify the registered webhook URL that an Analysis has been updated.                                                                                                              | analysis.updated    | AnalysisWebhookPayload       |\n| Analysis Deleted    | Notify the registered webhook URL that an Analysis has been deleted.                                                                                                              | analysis.deleted    | AnalysisWebhookPayload       |\n| Analysis Archived   | Notify the registered webhook URL that an Analysis has been archived.                                                                                                             | analysis.archived   | AnalysisWebhookPayload       |\n| Analysis Unarchived | Notify the registered webhook URL that an Analysis has been unarchived.                                                                                                           | analysis.unarchived | AnalysisWebhookPayload       |\n| Analysis Complete   | Notify the registered webhook URL that an analysis has been completed.                                                                                                            | analysis.complete   | AnalysisWebhookPayload       |\n| Analysis Failed     | Notify the registered webhook URL that the Analysis has failed.                                                                                                                   | analysis.failed     | AnalysisWebhookPayload       |\n| Engagement Created  | Notify the registered webhook URL that an Engagement has been created.                                                                                                            | engagement.created  | EngagementWebhookPayload     |\n| Engagement Updated  | Notify the registered webhook URL that an Engagement has been updated.                                                                                                            | engagement.updated  | EngagementWebhookPayload     |\n| Engagement Deleted  | Notify the registered webhook URL that an Engagement has been deleted.                                                                                                            | engagement.deleted  | EngagementWebhookPayload     |\n| Unmapped Accounts   | Notify the registered webhook URL that an engagement has unresolved account mappings that exist, which is the result of new accounts discovered during a data ingestion workflow. | unmapped.accounts   | EngagementWebhookPayload     |\n| Ingestion Complete  | Notify the registered webhook URL that a data ingestion workflow has been completed.                                                                                              | ingestion.complete  | AnalysisSourceWebhookPayload |\n| Ingestion Failed    | Notify the registered webhook URL that a data ingestion workflow has been completed.                                                                                              | ingestion.failed    | AnalysisSourceWebhookPayload |\n| Data Added          | Notify the registered webhook URL that new data has been added to an engagement.                                                                                                  | data.added          | FileManagerWebhookPayload    |\n| Export Ready        | Notify the registered webhook URL that a requested file export has been completed.                                                                                                | export.ready        | FileManagerWebhookPayload    |\n| User Invited        | Notify the registered webhook URL that a User has been invited to the tenant.                                                                                                     | user.invited        | UserRoleWebhookPayload       |\n| User Role Updated   | Notify the registered webhook URL that a User's role has been updated.                                                                                                            | user.role           | UserRoleWebhookPayload       |\n| User Deleted        | Notify the registered webhook URL that a User has been deleted.                                                                                                                   | user.deleted        | UserWebhookPayload           |\n| User Login          | Notify the registered webhook URL that a User has logged in.                                                                                                                      | user.login          | UserLoginWebhookPayload      |\n| User Status Updated | Notify the registered webhook URL that a User has been enabled or disabled.                                                                                                       | user.status         | UserStatusWebhookPayload     |\n",
                "parameters": [
                    {
                        "name": "webhook-id",
                        "in": "header",
                        "description": "A unique event ID for the event that triggered the outbound webhook request.",
                        "required": true,
                        "schema": { "type": "string" }
                    },
                    {
                        "name": "webhook-timestamp",
                        "in": "header",
                        "description": "Timestamp associated with the outbound HTTPS request.",
                        "required": true,
                        "schema": { "type": "integer", "format": "int32" }
                    },
                    {
                        "name": "webhook-signature",
                        "in": "header",
                        "description": "The digital signature that can be used to validate the authenticity of the webhook data.",
                        "required": true,
                        "schema": { "type": "string" }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "anyOf": [
                                    { "$ref": "#/components/schemas/AnalysisResultWebhookPayload", "title": "Analysis" },
                                    { "$ref": "#/components/schemas/AnalysisResultWebhookPayload", "title": "Analysis Result" },
                                    { "$ref": "#/components/schemas/AnalysisSourceWebhookPayload", "title": "Ingestion" },
                                    { "$ref": "#/components/schemas/EngagementWebhookPayload", "title": "Engagement" },
                                    {
                                        "$ref": "#/components/schemas/EngagementSubscriptionWebhookPayload",
                                        "title": "Engagement Subscription"
                                    },
                                    { "$ref": "#/components/schemas/FileManagerWebhookPayload", "title": "File Manager" },
                                    { "$ref": "#/components/schemas/UserWebhookPayload", "title": "User Deletion" },
                                    { "$ref": "#/components/schemas/UserRoleWebhookPayload", "title": "User Role" },
                                    { "$ref": "#/components/schemas/UserLoginWebhookPayload", "title": "User Login" },
                                    { "$ref": "#/components/schemas/UserStatusWebhookPayload", "title": "User Status" }
                                ],
                                "discriminator": {
                                    "propertyName": "type",
                                    "mapping": {
                                        "user.status": "UserStatusWebhookPayload",
                                        "file.added": "FileManagerWebhookPayload",
                                        "analysis.updated": "AnalysisResultWebhookPayload",
                                        "analysis.failed": "AnalysisResultWebhookPayload",
                                        "analysis.created": "AnalysisResultWebhookPayload",
                                        "analysis.unarchived": "AnalysisResultWebhookPayload",
                                        "analysis.deleted": "AnalysisResultWebhookPayload",
                                        "export.ready": "FileManagerWebhookPayload",
                                        "unmapped.accounts": "EngagementSubscriptionWebhookPayload",
                                        "analysis.archived": "AnalysisResultWebhookPayload",
                                        "user.role": "UserRoleWebhookPayload",
                                        "engagement.deleted": "EngagementWebhookPayload",
                                        "user.invited": "UserRoleWebhookPayload",
                                        "engagement.updated": "EngagementWebhookPayload",
                                        "user.deleted": "UserWebhookPayload",
                                        "user.login": "UserLoginWebhookPayload",
                                        "ingestion.complete": "AnalysisSourceWebhookPayload",
                                        "engagement.created": "EngagementWebhookPayload",
                                        "analysis.complete": "AnalysisResultWebhookPayload",
                                        "ingestion.failed": "AnalysisSourceWebhookPayload"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
